Считывание из файла с помощью getline
Есть программа, на вход которой поступает текстовый файл (text.txt), в котором находятся две строки: первую строку необходимо записать в файл input.txt, вторую - записать в переменную expected_output. Проблема заключается в том, что если во входном файле находятся числа - всё прекрасно работает, но если там будут строки - всё ломается.
Пример:
Входной файл text.txt содержит следующее:
lkhjgl
2
Программа запишет в input.txt строку lkhjgl\n2, хотя должна записать lkhjgl
Код:
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ifstream test_file("text.txt", std::ios::in);
std::string input;
std::string expected_output;
std::string line;
while (std::getline(test_file, line, '\n')) {
input += line;
std::getline(test_file, line, '\n');
expected_output += line;
std::cout << "new test" << std::endl;
std::cout << input << ";" << std::endl;
std::cout << expected_output << ";" << std::endl;
std::ofstream input_file("input.txt");
input_file << input;
input_file.close();
input.clear();
expected_output.clear();
}
return 0;
}