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
См. также
| переименовывает файл (функция) |
|
Документация по C++ для remove |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/c/io/remove