簡體   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