以下のCがらくたの例の場合:
const char* foo = "foo"; const char* bar = "bar"; char* foobar = (char*)malloc(strlen(foo)+strlen(bar)+1); strcpy(foobar, foo); strcat(foobar, foo);
実際、定数はCで自然に連結できます。
const char foo[] = "foo"; const char bar[] = "bar"; char foobar[] = foo bar; // look Ma, I did it without any operator!
また、*の代わりに[]を使用すると、文字列を変更したり、文字列の長さを見つけたりすることもできます。
int foo_str_len = sizeof(foobar)-1;
したがって、Cを文字列で使用するのが難しいと(誤って)主張する前に、Cの使用方法を学んでください。
自分で試しましたが、エラーが発生します:
予想される'、'または';' 文字列定数の前
だから私の質問は:これを機能させるためにコンパイラに何かを伝える必要がありますか、それとも上記の投稿は単に間違っていますか?Cで文字配列を連結する他の方法を知っていることに注意してください。