我有如下代码行:
const int maxtext=1000;
char text[maxtext];
cin.getline(text,maxtext);
然后当我尝试查看
sizeof(text)
它向我显示 maxtext,而不是输入的长度。
我做错了什么?
PD.:我不能使用 <string> 库的函数。
sizeof(text)
不检查的内容text
(它返回对象的字节大小,请参阅sizeof)因此是否存在空终止字符text
是无关紧要的。改为使用strlen(text)
。确保text
在使用之前已填充text
:
if (cin.getline(text, maxtext))
{
}
通过使用std::getline()
with可以避免硬编码固定大小以供读取std::string
:
std::string text;
if (std::getline(std::cin, text))
{
}