このコードは、ファイルを1行ずつ逆の順序で別のファイルに転送することになっています。ただし、動作しません。多分私は何かを追加するのを忘れました:
while(cnvFile.good()) {
getline(cnvFile, cnvPerLine);
reverseFile << cnvPerLine;
reverseFile.seekp(0, ios::beg);
}
このコードは、ファイルを1行ずつ逆の順序で別のファイルに転送することになっています。ただし、動作しません。多分私は何かを追加するのを忘れました:
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...