文字列結合の良い方法 – プログラミング – Home

通知
すべてクリア

文字列結合の良い方法


初心者
 初心者
(@初心者)
ゲスト
結合: 24年前
投稿: 206
Topic starter  

いままで文字列を結合するときはstrcat関数を使ってやっていました。
今回やりたいのは文字列に数字の後ろに数字を付けていくという方法です。
そこでやってみたのですがどうもきれいにいきません。

char itoabuf[5];
char kekka[20];
CString moji1[10];
CString moji2[10];

for(int i = 0;i < 5; i++){
//kekka変数初期化処理
//itoa変数初期化処理
itoa(i,itoabuf,10);
strcat(kekka,JIKKEN-);
strcat(kekka,itoabuf);
moji1[i] = kekka;

//kekka変数初期化処理
//itoa変数初期化処理
itoa(i,itoabuf,10);
strcat(kekka,Syousai-);
strcat(kekka,itoabuf);
moji2[i] = kekka
}

となっています。結果としては
moji1[0] は JIKKEN-0
moji1[1] は JIKKEN-1
moji2[0] は Syousai-0
moji2[1] は Syousai-1

となります。

何がしたいかというとかなりコードが汚くなるしバッファを2つも使うので
うまいことVBのように
moji1[0] = JIKKEN- + CStr(i)
といったことは出来ないのでしょうか?

ちょっと思ったんですけど、itoaってかなり使いにくいですよね・・・


引用解決済
トピックタグ
アイススケーター
 アイススケーター
(@アイススケーター)
ゲスト
結合: 23年前
投稿: 280
 

sprintf( kekka, Syousai-%d, i);
とかじゃダメなんですか。


返信引用
tib
 tib
(@tib)
ゲスト
結合: 23年前
投稿: 468
 

CStringを使ってるようですから、

moji1[i].Format( JIKKEN-%d, i );

でもOKですね。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

> moji1[0] = JIKKEN- + CStr(i)

こうしたければ、次のような関数を作っておくと良いです。

CString CStr(int i)
{
CString s;
s.Format(%d, i);
return s;
}


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました