Spec-Zone.ru › C++

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

См. также

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

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

Spec-Zone.ru

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