你如何获得控制台的大小输入字符串或缓冲区中有效字符的大小?
char buffer[100];
cin >> buffer;
Run Code Online (Sandbox Code Playgroud)
我想把'\ 0'放在输入结束的地方.
更喜欢使用std::string
,而不是char*
或char[]
.这让事情变得简单!问题char buffer[100]
是如果输入字符串的大小超过100,那么你cin >> buffer
将调用未定义的行为,因为它会尝试在数组之外写入.如果使用,可以轻松避免此问题std::string
.
std::string input;
cin >> input; //this can read string of any unknown size!
cout << "length of input string : " << input.size()<< endl;
Run Code Online (Sandbox Code Playgroud)
您也可以使用input.length()
而不是input.size()
.它们返回相同的值.
在线演示:http://www.ideone.com/Wdo31
归档时间: |
|
查看次数: |
14929 次 |
最近记录: |