Что такое fflush и что он делает?

я читал http://www.cplusplus.com/reference/cstdio/fflush/ и мне было любопытно, что это значит. Согласно веб-сайту говорится:

Если данный поток был открыт для записи (или если он был открыт для обновления, а последняя операция ввода-вывода была операцией вывода), любые неписанные данные в его буфере вывода записываются в файл.

Что означает выходной буфер в файл?

-3

Решение

Некоторые потоки буферизуют выходные данные и не записывают на устройство сразу. fflush принудительно записывает содержимое буфера потока, если оно есть, на устройство и очищает буфер.

4

Другие решения

Обычно, когда данные предназначены для записи в файл, они хранятся в конструкции, известной как «буфер». Как только буфер достигнет определенного порога, все данные, хранящиеся в буфере, будут сразу записаны в файл.

Fflush очищает буфер и принудительно записывает все изменения в файл. Это особенно полезно, когда вы закончите запись в файл, поскольку рекомендуется очистить буфер перед закрытием файла (тем самым убедившись, что все данные были успешно записаны в файл).

Это относится и к другим типам файловых потоков.

1

По вопросам рекламы [email protected]