я читал http://www.cplusplus.com/reference/cstdio/fflush/ и мне было любопытно, что это значит. Согласно веб-сайту говорится:
Если данный поток был открыт для записи (или если он был открыт для обновления, а последняя операция ввода-вывода была операцией вывода), любые неписанные данные в его буфере вывода записываются в файл.
Что означает выходной буфер в файл?
Некоторые потоки буферизуют выходные данные и не записывают на устройство сразу. fflush
принудительно записывает содержимое буфера потока, если оно есть, на устройство и очищает буфер.
Обычно, когда данные предназначены для записи в файл, они хранятся в конструкции, известной как «буфер». Как только буфер достигнет определенного порога, все данные, хранящиеся в буфере, будут сразу записаны в файл.
Fflush очищает буфер и принудительно записывает все изменения в файл. Это особенно полезно, когда вы закончите запись в файл, поскольку рекомендуется очистить буфер перед закрытием файла (тем самым убедившись, что все данные были успешно записаны в файл).
Это относится и к другим типам файловых потоков.