Spec-Zone.ru › C

remove

Определено в заголовке <stdio.h>
int remove( const char* fname );

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

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

Параметры

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

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

значение ноль при успехе или ненулевое значение при ошибке.

Примечания

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:2023):
    • 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++ для remove

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

Spec-Zone.ru

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