cin.getline(str,99)


为什么不能用cin>>str?
ヾ(≧∇≦谢谢≧∇≦)ノ

禾则
浏览 1193回答 1
1回答

onemoo

你可以试试改成 cin >> 会如何。改了的话,根本就读不到空格了。一般来说,>> 会跳过开始的“空白字符”并一直读取到下一个“空白字符”为止,所谓空白字符是指空格、换行、tab等。 看起来你输入的内容肯定一开始就是空格。那么 >> str 的话,str 中就没有前面的空格了。而 cin.getline 函数,如其名所示,会读取所有的输入内容直到 '\n'(但 \n 不会被保存进 str)为止,或读取了“第二个参数-1”个字符为止。  所以用 getline 才能将开始的空格都保存进 str 中。另外,你其实可以写 cin.getline(str, 100) 的。因为它会考虑到结尾补 \0 字符,所以最多只会读 100-1 个字符。
打开App,查看更多内容
随时随地看视频慕课网APP