unlink()

Удалить ссылку на файл

Прототип:

#include <unistd.h>
int unlink( const char *path );

Аргументы:

path
Имя файла для удаления ссылки.

Библиотека:

libc

Описание:

Функция unlink() удаляет ссылку на файл:


Note: Для удаления директории, используйте rmdir() или remove().

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

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

Коды ошибок:

EACCES
В разрешении на поиск отказано для частей path, или запись запрещена для директории, содержащей ссылку, которую надо удалить.
EBUSY
Директория path не может быть удалена, потому что используется системой или другими процессами, и целевая файловая система или менеджер ресурсов рассматривает это как ошибку.
ENAMETOOLONG
Аргумент path имеет длину больше чем PATH_MAX, или компонента имени пути NAME_MAX.
ENOENT
Имя файла не существует, или path является пустой строкой.
ENOSYS
Функция unlink() не реализована для файловой системы определённой path.
ENOTDIR
Компонента path не является директорией.
EPERM
Имя файла path является директорией, и либо вызывающий процесс не имеет подходящих привелегий, или целевая файловая система или менеджер ресурсов запрещает использовать unlink() для директорий.
EROFS
Элемент каталога, который надо удалить, находится в файловой системе доступной только для чтения.

Примеры:

#include <unistd.h>
#include <stdlib.h>
int main( void )
{
if ( unlink( "vm.tmp" ) )
{
puts( "Error removing vm.tmp!" );
return (EXIT_FAILURE);
}
return (EXIT_SUCCESS);
}

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

POSIX 1003.1

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

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

chdir(), chmod(), close(), errno, getcwd(), link(), mkdir(), open(), pathmgr_symlink(), pathmgr_unlink(), remove(), rename(), rmdir(), stat(), symlink()




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