有很多类似的查询,但就我而言,我不明白什么不起作用:
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.";
是的,编译器给了我警告,但我不知道如果我不能覆盖它们,我怎么能使用不同的字符串......