Я беру содержимое из одного файла и передавая его другому. В частности, я ищу строки, содержащие подстроку «LIBOR/Swap». Однако это не имеет значения, и я прокомментировал их. Таким образом, этот конкретный код на данный момент действительно берет каждую строку в одном CSV-файле (файле) и передает их в другой CSV-файл (temp).getline (файл, строка) пропускает строки - C++
Проблема в том, что передача пропускает линии. См. Прикрепленные фотографии, чтобы увидеть строки, которые он пропускает при передаче данных.
Как вы можете видеть, с первых 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();
}
Это сработало. Я думал, что, хотя заявления были условными? То есть код просто продолжается, пока есть новая строка. Но нет реального «действия» по созданию линии. Спасибо! – user5619709
Нет, действие выполняется, возвращается значение, и если это значение является ложным, цикл while будет завершен. В противном случае в этом случае метод getline() должен был бы знать, чтобы оценить, но не реально запустить, и все методы, которые он вызывает, также ... – LordWilmore
А, я вижу. Спасибо. – user5619709