Я знаю, что в C соседние строковые литералы конкатенированы. Я хочу знать, связаны ли смежные строковые литералы с char * s?
Причина, по которой я задаю этот вопрос, заключается в том, что я хочу передать конкатенацию двух строк в perror()
, а одна из строк заранее неизвестна, поэтому я должен использовать char*
.
perror("error opening " "file.txt"); // string literals are concatenated
char* filename = "file.txt"; // or some other file
perror("error opening " filename); // will this work?