簡體   English   中英

getline(file,line)跳過行-C ++

[英]getline(file,line) is skipping lines - C++

我正在從一個文件中獲取內容,然后將其傳輸到另一個文件中。 特別是,我正在尋找包含子字符串“ LIBOR / Swap”的行。 但是,這無關緊要,我已經將它們注釋掉了。 因此,此刻的特定代碼實際上確實將一個.csv文件(文件)中的每一行都轉移到另一個.csv文件(臨時文件)中。

問題是傳輸跳過了行。 請參閱隨附的照片,以查看數據傳輸中跳過的行。

原始文件

新文件

如您所見,在第一個USD LIBOR /掉期行中,它跳過了1天匯率。 這會在代碼的其他地方發生。

有什么理由嗎? 謝謝。

ifstream file;
ofstream temp;

file.open("YC Rate Levels.csv");
temp.open("Temp.csv");

if (file.is_open())
{
    string line;
    string test = "LIBOR/Swap";

    while (getline(file, line))
    {
          getline(file, line);
        //if(line.find(test) != string::npos)
        //{
            temp << line << endl;
        //}
    }

    temp.close();
    file.close();

} else cout << "File did not open.";

std::cin.clear();
std::cin.ignore(32767, '\n'); 
std::cin.get(); 

}

您兩次調用getline(file,line)-一次在while()標頭內,然后在正文內。 刪除第二個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM