Spec-Zone.ru › C

remove

Определено в заголовочном файле <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"); // create file
    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"); // Failure: file does not exist
    if (!fp)
        perror("Opening removed file failed");

    rc = remove("file1.txt"); // Failure: file does not exist
    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

См. также

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

© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/io/remove

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API