fflush
Функция Сбрасывает поток.
Синтаксис #include<stdio.h>
int fflush(FILE * stream);
Файл, содержащий stdio.h
прототип
Описание Функция fflush записывает в файл содержимое буфера,
связанного с потоком stream, если он был открыт на
вывод.
fflush не оказывает влияния на небуферизованные
потоки.
Возвращаемое В случае успешного завершения возвращает 0. При
значение ошибке возвращает EOF.
Переносимость Поддерживается стандартом ANSI C и совместима с
UNIX.
Смотрите также fclose, flushall, setbuf, setvbuf.
Пример:
#include<string.h>
#include<stdio.h>
#include<conio.h>
#include<io.h>
void flush(FILE *stream);
int main(void)
{
FILE *stream;
char msg[] = "Тестовый пример";
/* создать файл */
stream = fopen("DUMMY.FIL","w");
/* записать в файл данные */
fwrite(msg,strlen(msg),1,stream);
clrscr();
printf("Для сброса потока нажмите любую клавишу ...\n");
getch();
/* сбросить данные в файл, без его закрытия */
flush(stream);
printf("Содержимое буферов сброшено в файл\n");
printf("Для завершения нажмите любую клавишу\n");
getch();
return 0;
}
void flush(FILE *stream)
{
int duphandle;
/* сбросить внутренние буфера файла */
fflash(stream);
/* создать второй дескриптор */
duphandle = dup(fileno(stream));
/* закрыть второй дескриптор для сброса буферов DOS */
close(duphandle);
}
|