我在C ++中使用以下代码将用户的字符读入字符串,包括空格字符:
cin.ignore();
string s;
getline(cin,s);
cout<<s<<endl;
输入后,输出不一样:
input: gee ks for gee ks
output: ee ks for gee ks
为什么会这样?
答案 0 :(得分:3)
cin.ignore()
丢弃用户键入的第一个字符,然后getline()
读取剩余的字符,直到达到换行符。这就是为什么您的输出缺少g
的{{1}}字符。