我有这段代码应该以相反的顺序逐行将文件传输到另一个文件中。但是它不起作用。也许我忘了添加一些东西:
while(cnvFile.good()) {
getline(cnvFile, cnvPerLine);
reverseFile << cnvPerLine;
reverseFile.seekp(0, ios::beg);
}
我有这段代码应该以相反的顺序逐行将文件传输到另一个文件中。但是它不起作用。也许我忘了添加一些东西:
while(cnvFile.good()) {
getline(cnvFile, cnvPerLine);
reverseFile << cnvPerLine;
reverseFile.seekp(0, ios::beg);
}
当您寻找开头并尝试写入时,您不是在插入数据,而是在覆盖数据。一个简单的(尽管可能远非最佳)解决方案将类似于:
std::string reversedContents
while (getline(inFile, line)) {
// This actually *appends* to the beginning, not overwriting
reversedContents = line + "\n" + reversedContents; // manually add line breaks back in
}
// now write reversedContents to a file...