0

このコードは、ファイルを1行ずつ逆の順序で別のファイルに転送することになっています。ただし、動作しません。多分私は何かを追加するのを忘れました:

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 に答える