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