0

我有这段代码应该以相反的顺序逐行将文件传输到另一个文件中。但是它不起作用。也许我忘了添加一些东西:

while(cnvFile.good()) {
    getline(cnvFile, cnvPerLine);

    reverseFile << cnvPerLine;
    reverseFile.seekp(0, ios::beg);
}
4

1 回答 1

1

当您寻找开头并尝试写入时,您不是在插入数据,而是在覆盖数据。一个简单的(尽管可能远非最佳)解决方案将类似于:

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...
于 2013-02-25T04:05:26.150 回答