c++中cin.getline的返回值是什么?

#include<iostream>#include<string>usingnamespacestd;intmain(){chara[10];stringstr;whi... #include<iostream>
#include<string>
using namespace std;
int main()
{
char a[10];
string str;
while(cin.getline(a,9))
cout<<a<<endl;
/*while(getline(cin,str))
cout<<str<<endl;*/
return 0;
}此函数在vs2012中运行,运行明显不正常,但去掉while后一切正常
之后又测试过了,在while(cin。getline(a,5))中,在输入的字符少于5个时就正常,多于4个就无输出,而去掉while后,不论输入几个字符输出都是4个字符,原因是什么
展开
 我来答
蔷运乾bL
2014-12-02 · TA获得超过242个赞
知道答主
回答量:63
采纳率:100%
帮助的人:36.5万
展开全部
getline (cin, stri)返回cin,cin再转换为bool值true(读入成功)或者false(读入失败)
更多追问追答
追问
while(cin.getline(a,9))
那为什么这里的cin.getline会读入失败
追答
cin.getlin(a,9),读取长度是9,输入超出8个就会读取失败(貌似最后会自己加一个结束符?占了第九个字符的位置)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式