getline(file,line) 正在跳过行 - C++
getline(file,line) is skipping lines - C++
我正在从一个文件中获取内容并将其传输到另一个文件。特别是,我要查找包含子字符串 "LIBOR/Swap" 的行。但是,这无关紧要,我已经将它们注释掉了。所以,目前这个特定的代码确实获取了一个 .csv 文件(文件)中的每一行,并将它们传输到另一个 .csv 文件(temp)。
问题是传输跳过了行。请参阅所附照片以查看它在数据传输中跳过的行。
如您所见,在第一行 USD LIBOR/Swap 行中,它跳过了 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() header 中,然后在 body 中再次调用。删除第二个。
我正在从一个文件中获取内容并将其传输到另一个文件。特别是,我要查找包含子字符串 "LIBOR/Swap" 的行。但是,这无关紧要,我已经将它们注释掉了。所以,目前这个特定的代码确实获取了一个 .csv 文件(文件)中的每一行,并将它们传输到另一个 .csv 文件(temp)。
问题是传输跳过了行。请参阅所附照片以查看它在数据传输中跳过的行。
如您所见,在第一行 USD LIBOR/Swap 行中,它跳过了 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() header 中,然后在 body 中再次调用。删除第二个。