Namespaces
Variants

std:: remove

From cppreference.net
< cpp ‎ | io ‎ | c
Определено в заголовке <cstdio>
int remove ( const char * pathname ) ;

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

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

Содержание

Параметры

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

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

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

Примечания

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

Стандартная библиотека также определяет шаблон функции std::remove принимающий пару итераторов и значение, эта перегрузка является одним из стандартных алгоритмов .

Пример

#include <cstdio>
#include <cstdlib>
#include <fstream>
#include <iostream>
int main()
{
    // создаем файл, проверяем успешность с использованием operator! временного объекта потока
    if (!std::ofstream("file1.txt").put('a'))
    {
        std::perror("Error creating file1.txt");
        return EXIT_FAILURE;
    }
    std::cout << std::ifstream("file1.txt").rdbuf() << '\n'; // выводим содержимое файла
    std::remove("file1.txt"); // удаляем файл
    if (!std::ifstream{"file1.txt"}) // использует operator! временного объекта потока
    {
        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)
удаляет файл или пустую директорию
удаляет файл или директорию и всё их содержимое рекурсивно
(функция)
переименовывает файл
(функция)