有很多类似的问题,但在我的情况下,我不明白哪里出了问题:
int mysize = 0;
mysize = sizeof(samplestring) / sizeof(*samplestring);
std::cout << mysize << '\n' << samplestring;
这将输出:
4
Press 'q' to quit.
怎么可能呢?4明显不是这个字符串的长度。我甚至尝试了以下代码,但结果相同:
mysize = sizeof(samplestring) / sizeof(samplestring[0]);
编辑:好的,这是声明:
char *samplestring = "Start.";
我正在使用C++,但需要使用只接受char*的函数。在代码后面,我会将新的字符串分配给该变量,例如:
samplestring = "Press 'r' for red text.";
是的,编译器会给我警告,但我不知道如果不能覆盖它们,我该如何使用不同的字符串...
samplestring
是如何声明的? - Coding Mashsamplestring
的定义在哪里? - phoxis