C++標準のIOStreamには、std::unitbufフラグというのがあります。これを出力ストリームに設定することで、繰り返し出力を行う処理で、出力するたびにフラッシュが行われるようになります。
#include <fstream> int main() { std::ofstream file("a.txt"); file << std::unitbuf; for (int i = 0; i < 10; ++i) { file << i; // 出力するたびにフラッシュされる } }
これは、以下のコードと同じ意味になります:
#include <fstream> int main() { std::ofstream file("a.txt"); for (int i = 0; i < 10; ++i) { file << i; file.flush(); // 自分でフラッシュする } }