关于c++中getline(cin,str)在cin之后使用

来源:互联网 发布:数据挖掘技术有哪些 编辑:程序博客网 时间:2024/05/21 13:55
int main()
{
    string str;
    int a;
    cin>>a;
    getline(cin,str);
    cout<<endl;
    return 0;

}

getline(cin,str)的读取原理是将以‘/n’为结束符做为一完整读取的一行,'/n'会读。所以当之前用cin读取一个字符的时候,你会输入一个字符然后点击回车,那么下面getline(cin,str)读的时候会读入这个回车,并判断结束了。

解决的方法是在getline前面加入cin.ignore().这个就会忽略那个回车。

int main()
{
    string str;
    int a;
    cin>>a;

  cin.ignore();

    cin.ignore();
    cout<<endl;
    return 0;

}


2 0
原创粉丝点击