C++的string输入的问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 11:22:06
例如
string str;int i;
getline(cin,str);
cout<<"************"<<endl;
cin>>i;
cin.get();
在输入一个字串之后按一次回车继续输入i的数值再按回车后才显示******,但是str跟i的值都赋对了

然后输入一个字串之后按一次回车再按一次回车才显示******,再输入i的数值,str跟i的值也赋对了

这是为什么?请高手解答
顺便问一下
getline(cin,str)返回什么

那是vc6.0的bug,换成vs2005以上就解决了
getline(cin,str)返回cin

getline()这个函数在VC6里有bug的要按两下回车才能结束,在linux里的g++就是正常的一下回车

怎么会呢
getline()读取一行遇到回车结束
cin.get()等待输入一个字符

应该是输入回车(或者输入一串字符后回车)
输出**********
输入一个字符(或一串字符)回车
结束

getline(cin,str)把你输入到输入流的一行字符存到str字符串

bug !
换版本试试吧!