fclose, _fcloseall

Закрывает поток (fclose) или закрывает все открытые потоки (_fcloseall).

int fclose( 
   FILE *stream 
);
int _fcloseall( void );

Параметры

  • stream
    Указатель на FILE структуру.

Возвращаемое значение

fcloseВозвращает 0, если поток успешно закрыт._fcloseallВозвращает общее количество потоков, которые закрыты.Обе функции возвращают EOF для обозначения ошибки.

Заметки

fclose Функция закрывает stream.Если stream , NULL, вызывается обработчик недопустимого параметра, как описано в разделе Проверка параметров.Если выполнение может продолжить работу, fclose задает errno для EINVAL и возвращает EOF.Рекомендуется stream указатель всегда проверки перед вызовом этой функции.

См. _doserrno, errno, _sys_errlist и _sys_nerr Дополнительные сведения об этих и других кодов ошибок.

The _fcloseall function closes all open streams except stdin, stdout, stderr (and, in MS-DOS, _stdaux and _stdprn).Также закрывает и удаляет временные файлы, созданные tmpfile.В обе функции связанные с потоком все буферы сбрасываются до закрытия.Система буферы освобождаются при закрытии потока.Буферы, назначенные пользователем с setbuf и setvbuf не освобождаются автоматически.

Примечание: при использовании этих функций для закрытия потока основной дескриптор файла и ОС дескриптор файла (или socket) закрыты, а также поток.Таким образом, если файл был открыт как файл обработки или файла дескриптора и закрывается с fclose, также не делать вызов _close закрыть дескриптор файла; не следует вызывать функцию Win32 CloseHandle закрыть дескриптор файла.

fcloseи _fcloseall код для защиты от помех от других потоков.Для версии без блокировки, fclose, см. _fclose_nolock.

Требования

Функция

Обязательный заголовок

fclose

<stdio.h>

_fcloseall

<stdio.h>

Совместимость Дополнительные сведения см. Совместимость во введении.

Пример

В приведенном примере для fopen.

Эквивалент в .NET Framework

См. также

Ссылки

Поток ВВОДА-ВЫВОДА

_close

_fdopen, _wfdopen

fflush

fopen, _wfopen

freopen, _wfreopen