[英]Error while using getline() in c++
我正在使用getline读取字符串和打印,但是在使用时我无法提供输入,所以我使用了ignore()
码
int t;
cin>>t;
string str;
for(int i=0;i<t;i++)
{ cin.ignore();
getline (cin, str);//reading string
cout << str << endl;
}
return 0;
在打印输出时使用它时,输出第二行中的每个第一个字符都丢失了?
std::getline
函数读取 (但不存储)换行符,因此在循环的第二次(及其后)迭代中, ignore
调用将读取该行的第一个字符。
您应该将ignore
调用移至循环之前。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.