快捷导航

cin.getline(str,99)



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

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员1

你可以试试改成 cin >> 会如何。
改了的话,根本就读不到空格了。



一般来说,>> 会跳过开始的“空白字符”并一直读取到下一个“空白字符”为止,所谓空白字符是指空格、换行、tab等。 看起来你输入的内容肯定一开始就是空格。那么 >> str 的话,str 中就没有前面的空格了。


而 cin.getline 函数,如其名所示,会读取所有的输入内容直到 '\n'(但 \n 不会被保存进 str)为止,或读取了“第二个参数-1”个字符为止。 所以用 getline 才能将开始的空格都保存进 str 中。
另外,你其实可以写 cin.getline(str, 100) 的。因为它会考虑到结尾补 \0 字符,所以最多只会读 100-1 个字符。
回复

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP