文字列の結合にはstrcatという関数が存在する。
これは文字列s1の後ろに文字列s2を結合するといったものである。
では、文字列s1の前に文字列s2を結合したい場合はどうするべきなのか???
素直にstrcatやstrcpy(文字列のコピー)だけを使うと次のようになってしまった。
悪い例:strmotoという変数に格納した文字列の前後に、
かぎ括弧をつけて[文字列]のように囲った結果をstrに入れたい場合。
char str[128];
char *strmoto;
strmoto = "ABCDE";
str[0] = '[';
strcpy(str+1,compmoto);
strcat(comp,"]");
良い例(筆者が勝手に曰わくw):
char str[128];
char *strmoto;
strmoto = "ABCDE";
sprintf(str,"[%s]",strmoto);
sprintfという関数を知っているかどうかでかなり違ってくる。
最終更新:2015年12月28日 22:42