std::remove
Определён в заголовочном файле <cstdio> | ||
|---|---|---|
int remove( const char* pathname ); |
Удаляет файл, указанный строкой символов, на которую указывает pathname.
Если файл в данный момент открыт каким-либо процессом, поведение этой функции зависит от реализации. В системах POSIX удаляется имя файла (запись каталога), но пространство файловой системы, занимаемое файлом, не освобождается, пока он открыт каким-либо процессом и пока существуют другие жёсткие ссылки на файл. В Windows в таких случаях удалить файл нельзя.
Параметры
| pathname | - | указатель на строку с завершающим нулём, содержащую путь к удаляемому файлу |
Возвращаемое значение
0 в случае успеха или ненулевое значение в случае ошибки.
Примечания
Спецификация POSIX содержит множество дополнительных сведений о поведении этой функции.
Стандартная библиотека также определяет шаблон функции std::remove, принимающий пару итераторов и значение; эта перегрузка относится к стандартным алгоритмам.
Пример
#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
// create a file, check success using operator! of temporary stream object
if (!std::ofstream("file1.txt").put('a'))
{
std::perror("Error creating file1.txt");
return EXIT_FAILURE;
}
std::cout << std::ifstream("file1.txt").rdbuf() << '\n'; // print file
std::remove("file1.txt"); // delete file
if (!std::ifstream{"file1.txt"}) // uses operator! of temporary stream object
{
std::perror("Error opening deleted file");
return EXIT_FAILURE;
}
return EXIT_SUCCESS;
}
Возможный вывод:
a Error opening deleted file: No such file or directory
См. также
|
(C++17)(C++17) | удаляет файл или пустой каталог удаляет файл или каталог и всё его содержимое рекурсивно (функция) |
| переименовывает файл (функция) |
|
Документация по C для remove |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/cpp/io/c/remove