Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Закрывает поток (fclose) или все открытые потоки (_fcloseall).
Синтаксис
int fclose(
FILE *stream
);
int _fcloseall( void );
Параметры
stream
Указатель на структуру FILE .
Возвращаемое значение
Функция fclose возвращает 0, если поток был успешно закрыт. Функция _fcloseall возвращает общее количество закрытых потоков. Обе функции возвращают EOF для указания на ошибку.
Замечания
Функция fclose закрывает stream. В противном stream NULLслучае вызывается недопустимый обработчик параметров, как описано в разделе "Проверка параметров". Если выполнение может быть продолжено, функция fclose присваивает errno значение EINVAL и возвращает EOF. Перед вызовом stream этой функции рекомендуется всегда проверять указатель.
Дополнительные сведения о кодах возврата см. в разделе errno, _doserrno_sys_errlistи _sys_nerr.
Функция _fcloseall закрывает все открытые потоки, кроме stdin, stdout, stderr (а в MS-DOS также _stdaux и _stdprn). Она также закрывает и удаляет все временные файлы, созданные tmpfile. При использовании обеих функций все буферы, связанные с потоком, перед закрытием сбрасываются. При закрытии потока выделенные системой буферы освобождаются. Буферы, назначенные пользователем и setbuf setvbuf не выпускаются автоматически.
Примечание.
Когда fclose или _fcloseall функции используются для закрытия потока, базовый дескриптор файлов и дескриптор OS (или сокет) также закрываются. Таким образом, если файл был первоначально открыт как дескриптор файла или дескриптор файла и закрыт с fcloseпомощью, не вызывайте _close дескриптор файла и не вызывайте функцию CloseHandle Win32, чтобы закрыть дескриптор файла.
Функции fclose и _fcloseall включают код для защиты от помех от других потоков. Сведения о неблокирующей версии fclose см. в описании функции _fclose_nolock.
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Требования
| Function | Обязательный заголовок |
|---|---|
fclose |
<stdio.h> |
_fcloseall |
<stdio.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
Пример
Пример см. в примере fopen.
См. также
Потоковый ввод-вывод
_close
_fdopen, _wfdopen
fflush
fopen, _wfopen
freopen, _wfreopen