猿问
回到首页
个人中心
反馈问题
注册登录
下载APP
首页
课程
实战
体系课
手记
专栏
慕课教程
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 个字符。
0
0
1
打开App,查看更多内容
随时随地看视频
慕课网APP
相关分类
C++
typedef入门问题
1 回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续