РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
499 of 815 menu

Функция remove_all

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

Для работы функции необходимо подключить заголовочный файл <filesystem>. Следует быть осторожным: функция не перемещает объекты в корзину, а удаляет их безвозвратно.

Синтаксис

std::filesystem::remove_all(path)

Пример

Давайте создадим директорию с файлом внутри, а затем удалим её вместе со всем содержимым:

#include <iostream> #include <filesystem> #include <fstream> using namespace std; int main() { filesystem::create_directory("test_dir"); ofstream("test_dir/file.txt") << "hello"; uintmax_t count = filesystem::remove_all("test_dir"); cout << count << endl; return 0; }

Результат выполнения кода:

2

Число 2 означает, что было удалено два объекта: сама директория и файл внутри неё.

Пример

Давайте удалим обычный файл и проверим, существует ли он после этого:

#include <iostream> #include <filesystem> #include <fstream> using namespace std; int main() { ofstream("file.txt") << "data"; filesystem::remove_all("file.txt"); cout << filesystem::exists("file.txt") << endl; return 0; }

Результат выполнения кода:

0

Значение 0 говорит о том, что файл был успешно удалён и больше не существует.

Смотрите также

  • функция remove,
    которая удаляет файл или пустую директорию
  • функция exists,
    которая проверяет существование пути
  • функция is_directory,
    которая проверяет, является ли путь директорией
  • функция remove_filename,
    которая удаляет имя файла из пути
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить