C++ 在c+;中使用getline()时出错+;

C++ 在c+;中使用getline()时出错+;,c++,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; }

我使用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;
intt;
cin>>t;
字符串str;
对于(int i=0;i,函数读取(但不存储)换行符,因此在循环的第二次(以及以后每次)迭代中,对
ignore
的调用将读取该行的第一个字符


你应该在循环之前将
ignore
调用移动到。

你得到了什么
Error
,你能发布错误文本吗?你能不能详细解释一下getline()@AravindPabbietty否,但是如果你跟随链接,你会发现一个非常详细的参考。