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.