繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM