
ポインタ変数で宣言された3つ以上の文字列を連結したいのです。
そこで
char *str1 = "Hello,";
char *str2 = "Mr.";
char *str3 = "Brown.";
char msg[100];
strcat(msg,strcat(str1,strcat(str2,str3)));
printf(msg);
としたがやっぱり駄目でした。
strcat(str2,str3)からして駄目なんだとはなんとなくわかるのですが
どうしたら解決できるのかわかりません。
結果的には
printf(msg);
->Hello,Mr.Brown.
としたいのです。解決案をご教授いただけないでしょうか。
お願いいたします。
No.1ベストアンサー
- 回答日時:
それを書くなら、
strcpy(msg, str1);
strcat(msg, str2);
strcat(msg, str3);
または、
strcat(strcat(strcpy(msg, str1), str2), str3);
では。
(puts等でなく)printf使うなら、
printf("%s%s%s, str1, str2, str3);
でも大差ない気がしますが。
# オーバフローにはくれぐれもご注意を。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CStringからchar*への型変換に...
-
char*を初期化したいのですが
-
fgetc( )の戻り値はなぜ整数??
-
C言語のintとcharの違いってな...
-
char型にint型の数値を代入する。
-
C言語にて構造体のメンバがNULL...
-
csvファイルをfscanfで読み込む...
-
Micom Car Rally に向けて製作...
-
簡易版smtpクライアント(メール...
-
char 文字列型 の表現範囲が-12...
-
char AA[]{"全角文字"};から"全...
-
エクセルのMID関数は、C言語では?
-
Cの関数の引数のconst *charに...
-
C++17で、unsigned char * 配列...
-
警告
-
wsprintf( ポインタ , "%d" , "...
-
C言語のプログラムについてです
-
構造体のメンバーの静的なサイ...
-
ポインタとcharについて
-
文字型配列に格納した空白の切捨て
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CStringからchar*への型変換に...
-
char*を初期化したいのですが
-
C言語にて構造体のメンバがNULL...
-
C言語のintとcharの違いってな...
-
DWORDとcharの変換
-
C++17で、unsigned char * 配列...
-
char 文字列型 の表現範囲が-12...
-
new charとnew char[N]の違いは?
-
char型にint型の数値を代入する。
-
動的メモリの初期化方法について。
-
小数点入りの文字列をfloat型に...
-
文字型配列に格納した空白の切捨て
-
fstream型オブジェクトを関数の...
-
C++Builder 2009 テキスト...
-
文字列の途中から途中までを抽出
-
C言語の文字リテラル中の16進文...
-
エクセルのMID関数は、C言語では?
-
文字列のswap
-
void型へのポインタ
-
VC++ char[10]へのCString値の代入
おすすめ情報