закрыть (системный вызов)
Системный вызов закрытия — это системный вызов, закрытия дескриптора файла для используемый ядром . Для большинства файловых систем программа в файловой системе с прекращает доступ к файлу помощью системного вызова close. При этом очищаются файловые буферы, обновляются метаданные файла , которые могут включать конца файла в себя индикатор ; отменяет выделение ресурсов, связанных с файлом (включая файловый дескриптор ), и обновляет общесистемную таблицу используемых файлов. Некоторые языки программирования поддерживают структуру данных файлов, открываемых их библиотекой времени выполнения , и могут закрываться при завершении программы. Эта практика известна как инициализация получения ресурсов (RAII). Некоторые операционные системы вызывают close
в файлах, хранящихся в программе, в случае ее завершения. Некоторые операционные системы вызывают close
системный вызов как часть восстановления операционной системы в результате системного сбоя.
Определение библиотеки C POSIX
[ редактировать ]Закрытие . стандартизировано POSIX спецификацией
int close (int filedes);
int fclose (FILE *stream);
Функция возвращает ноль, указывая, что файл был успешно закрыт. Если возникает какая-либо ошибка, возвращается значение -1 и соответствующим образом устанавливается errno.
К ошибкам, которые могут возникнуть, относятся:
EBADF
- Указанный аргумент не был допустимым дескриптором файла.
EINTR
- Вызов функции был прерван сигналом
EIO
- ошибка ввода-вывода Произошла
Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]C_Programming/C_Reference/stdio.h/fclosehttp://dx.doi.org/10.1037/0096-3445.111.1.132