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
