Namespaces
Variants

remove

From cppreference.net
< c ‎ | io
Определено в заголовочном файле <stdio.h>
int remove ( const char * pathname ) ;

Удаляет файл, идентифицируемый строкой символов, на которую указывает pathname .

Если файл в настоящее время открыт каким-либо процессом, поведение этой функции определяется реализацией. В системах POSIX имя файла (запись в каталоге) удаляется, но пространство файловой системы, используемое файлом, не освобождается, пока он открыт в каком-либо процессе и пока существуют другие жёсткие ссылки на файл. Windows не позволяет удалить файл в таких случаях.

Содержание

Параметры

pathname - указатель на строку с нулевым завершителем, содержащую путь к удаляемому файлу

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

0 при успешном выполнении или ненулевое значение при ошибке.

Примечания

POSIX определяет множество дополнительных деталей поведения этой функции.

Пример

#include <stdio.h>
#include <stdlib.h>
int main(void)
{
    FILE* fp = fopen("file1.txt", "w"); // создать файл
    if (!fp)
    {
        perror("file1.txt");
        return EXIT_FAILURE;
    }
    puts("Created file1.txt");
    fclose(fp);
    int rc = remove("file1.txt");
    if (rc)
    {
        perror("remove");
        return EXIT_FAILURE;
    }
    puts("Removed file1.txt");
    fp = fopen("file1.txt", "r"); // Ошибка: файл не существует
    if (!fp)
        perror("Opening removed file failed");
    rc = remove("file1.txt"); // Ошибка: файл не существует
    if (rc)
        perror("Double-remove failed");
    return EXIT_SUCCESS;
}

Возможный вывод:

Created file1.txt
Removed file1.txt
Opening removed file failed: No such file or directory
Double-remove failed: No such file or directory

Ссылки

  • Стандарт C23 (ISO/IEC 9899:2024):
  • 7.21.4.1 Функция remove (стр.: TBD)
  • Стандарт C17 (ISO/IEC 9899:2018):
  • 7.21.4.1 Функция remove (стр.: TBD)
  • Стандарт C11 (ISO/IEC 9899:2011):
  • 7.21.4.1 Функция remove (стр. 302)
  • Стандарт C99 (ISO/IEC 9899:1999):
  • 7.19.4.1 Функция remove (стр. 268)
  • Стандарт C89/C90 (ISO/IEC 9899:1990):
  • 4.9.4.1 Функция remove

Смотрите также

переименовывает файл
(функция)
C++ documentation для remove