remove()

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

Прототип:

#include <stdio.h>
int remove( const char *filename );

Аргументы:

filename
Путь к файлу, который требуется удалить.

Библиотека:

libc

Описание:

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

Функция remove() также работает и с директориями; однако, rmdir() более эффективна.

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

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

Коды ошибок:

EACCES
Отказано в разрешении на поиск для компонента filename или в разрешении на запись для каталога, содержащего удаляемую ссылку.
EBUSY
Каталог с именем filename не может быть отвязан, потому что он используется системой или другим процессом, и целевая файловая система или менеджер ресурсов считает это ошибкой.
ENAMETOOLONG
Аргумент filename превышает длину PATH_MAX, или компонент пути длиннее, чем NAME_MAX.
ENOENT
Указанный файл не существует или filename - пустая строка.
ENOSYS
Функция remove() не реализована для файловой системы, указанной в filename.
ENOTDIR
Компонент filename не является каталогом.
EPERM
Файл с именем filename является каталогом, и либо вызывающий процесс не имеет соответствующих привилегий, либо целевая файловая система или менеджер ресурсов запрещают использовать remove() в каталогах.
EROFS
Запись каталога, которую нужно отвязать, находится в файловой системе, доступной только для чтения.

Примеры:

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

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

ANSI, POSIX 1003.1

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

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

errno, rmdir(), unlink()




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