读取输入后输出丢失一个字符

时间:2018-06-01 00:13:13

标签: c++

我在C ++中使用以下代码将用户的字符读入字符串,包括空格字符:

cin.ignore();
string s;
getline(cin,s);
cout<<s<<endl;

输入后,输出不一样:

input: gee ks for gee ks
output: ee ks for gee ks

为什么会这样?

1 个答案:

答案 0 :(得分:3)

cin.ignore()丢弃用户键入的第一个字符,然后getline()读取剩余的字符,直到达到换行符。这就是为什么您的输出缺少g的{​​{1}}字符。