我的代码行如下:
const int maxtext=1000;
char text[maxtext];
cin.getline(text,maxtext);
然后当我试图看到
sizeof(text)
它显示了我的maxtext,而不是输入的长度。
我做错了什么?
PD:我不能使用<的功能。字符串>库。
答案 0 :(得分:4)
sizeof(text)
不会检查text
的内容(它返回对象的字节大小,请参阅sizeof),以便{{1}中是否存在空终止字符无关紧要。请改用text
。在使用strlen(text)
:
text
text
使用std::getline()
使用std::string
可以避免硬编码固定大小以便阅读:
if (cin.getline(text, maxtext))
{
}