Понимание необходимости использования fflush () и проблем, связанных с ним
Ниже приведен пример кода для использования fflush ():
#include
#include
#include
#include
void flush(FILE *stream);
int main(void)
{
FILE *stream;
char msg[] = "This is a test";
/* create a file */
stream = fopen("DUMMY.FIL", "w");
/* write some data to the file */
fwrite(msg, strlen(msg), 1, stream);
clrscr();
printf("Press any key to flush DUMMY.FIL:");
getch();
/* flush the data to DUMMY.FIL without closing it */
flush(stream);
printf("\nFile was flushed, Press any key to quit:");
getch();
return 0;
}
void flush(FILE *stream)
{
int duphandle;
/* flush the stream's internal buffer */
fflush(stream);
/* make a duplicate file handle */
duphandle = dup(fileno(stream));
/* close the duplicate handle to flush the DOS buffer */
close(duphandle);
}
Все, что я знаю о fflush (), это то, что это библиотечная функция, используемая для очистки выходного буфера. Я хочу знать, какова основная цель использования fflush () и где я могу его использовать. И в основном мне интересно знатькакие проблемы могут быть с использованием fflush ().