スポンサーリンク
strcatで文字列を結合
strcatは下記の形式で、strBeforeの後ろにstrAfterを追加することで、文字列を結合することができます。
下記がサンプルコードになります。
参考:[c言語]char型で文字列を宣言時に初期化する5つの方法
strcat(strBefore, strAfter);
$ cat sample.c #include <stdio.h> #include <string.h> int main(){ char strBefore[20] = "Before"; char* strAfter = "After"; strcat(strBefore, strAfter); printf("%s\n", strBefore); return 0; }
下記が実行結果になります。
$ gcc -o sample sample.c $ ./sample BeforeAfter
スポンサーリンク
strcatの第一引数は、追加する第二引数分の余裕を確保する必要
strcatの第一引数は、追加する第二引数分の余裕を確保する必要があります。
例えば、下記のようなソースコードはabortしてしまいます。
strBefore[8]には、strAfterを追加するだけの余裕がありません。
$ cat sample1.c #include <stdio.h> #include <string.h> int main(){ char strBefore[8] = "Before"; char* strAfter = "After"; strcat(strBefore, strAfter); printf("%s\n", strBefore); return 0; }
下記が実行結果になります。
$ gcc -o sample sample1.c $ ./sample Abort trap: 6
スポンサーリンク