Допустим, у меня есть текстовый файл, содержащий что-то вроде:Как я могу пометить строки существующего файла?
Четыре
оценка
и
семь
лет
назад
...
Я хочу, чтобы иметь возможность маркировать эти строки так, чтобы после запуска программы, файл выглядит следующим образом:
1.Four
2.score
3.And
4.seven
5.years
6.ago
...
Я приготовил раствор; Однако, я считаю, что это будет тяжелый весом, и она имеет проблему маркировки одного мимо последней строки ...
std::string file = "set_test - Copy.txt";
std::ifstream in_test{file};
std::vector<std::string> lines;
while(in_test) {
std::string temp;
getline(in_test, temp);
lines.push_back(temp);
}
in_test.close();
std::ofstream out_test{file};
for(unsigned int i = 0; i < lines.size(); ++i) {
out_test << i+1 << '.' << lines[i] << '\n';
}
На вершине будучи тяжеловесным, это решение также маркирует линию за пределами последней строки текст.
У кого-нибудь есть лучшее решение этой проблемы?