Один из ответов на Почему вы не используете C для своих веб-приложений? содержит следующие
Для примера C crap ниже:
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.