如何获取控制台输入字符串的大小或缓冲区中有效字符的大小?
char buffer[100];
cin >> buffer;
我希望将“\0”放在输入结束的位置。
最佳答案
首选使用 std::string
,而不是 char*
或 char[]
。这让事情变得简单! char buffer[100]
的问题在于,如果输入字符串的大小超过 100,那么您的 cin >> buffer
将调用未定义的行为,因为它会尝试写入 beyond 数组。如果使用 std::string
,这个问题可以很容易地避免。
std::string input;
cin >> input; //this can read string of any unknown size!
cout << "length of input string : " << input.size()<< endl;
您还可以使用 input.length()
代替 input.size()
。它们返回相同的值。
关于c++ - 在控制台中获取输入的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4895987/