質問: fopen(path.c_str(), "wb"); FileWriteStream ws(fp, buf, sizeof(buf)); PrettyWriter writer(ws); for (Object o : objects) { // 書き込む処理 } fclose(fp); ``` ### 試したこと 現状は `fopen` する前にあらかじめ for 文で objects をすべて走査し、該当する条件になったときは `return` してしまうコードにしています。 このやり方だと objects を2回走査しなければならないためスマートではありません。 他には該当する条件になったときはファイルを保存した後に削除してしまうという方法もあると思いますが、これも余計なことをしていますよね。 そもそもファイルを保存したくないのです。
回答: こんにちは。 std::stringstreamへ出力しておいて、必要な時にファイルへ書き出すのではどうでしょう?