close()

Закрыть файл

Прототип:

#include <unistd.h>
int close( int filedes );

Аргументы:

filedes
Дескриптор файла, который необходимо закрыть. Это может быть файловый дескриптор, возвращенный успешным вызовом accept(), creat(), dup(), dup2(), fcntl(), modem_open(), open(), shm_open(), socket() или sopen().

Библиотека:

libc

Описание:

Функция close() закрывает файл, определяемый переданным файловым дескриптором.

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

0
Успешное завершение.
-1
Возникла ошибка. Код ошибки записан в errno.

Коды ошибок:

EBADF
Некорректный файловый дескриптор filedes.
EINTR
Вызов close() прерван сигналом.
EIO
Во время обновления информации о директории произошла ошибка ввода/вывода.
ENOSPC
Предыдущий вызов буферизированной записи завершен неудачно.
ENOSYS
Функция close() не реализована для файловой системы, содержащей filedes.

Примеры:

#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
int main( void )
{
int filedes;
filedes = open( "file", O_RDONLY );
if ( filedes != -1 )
{
/* process file */
close( filedes );
return (EXIT_SUCCESS);
}
return (EXIT_FAILURE);
}

Классификация:

POSIX 1003.1

Безопасность использования
Точка остановки потока
Да
Обработчик прерываний
Нет
Обработчик сигналов
Да
В потоке
Да

Тематические ссылки:

accept(), creat(), dup(), dup2(), errno, fcntl(), modem_open(), open(), shm_open(), socket(), sopen()




Предыдущий раздел: Описание API системной библиотеки