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

Метод exists

Метод exists класса directory_entry проверяет, существует ли файл или каталог, связанный с данной записью. Метод не принимает параметров и возвращает true, если объект файловой системы существует, и false в противном случае. Если во время проверки произошла ошибка, метод выбрасывает исключение типа filesystem_error.

Синтаксис

bool exists() const;

Пример

Давайте создадим запись directory_entry для файла /var/www/index.html и проверим его существование:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::directory_entry entry("/var/www/index.html"); if (entry.exists()) { cout << "exists" << endl; } else { cout << "not exists" << endl; } return 0; }

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

"exists"

Пример

Давайте проверим существование несуществующего файла:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::directory_entry entry("/var/www/unknown.html"); if (entry.exists()) { cout << "exists" << endl; } else { cout << "not exists" << endl; } return 0; }

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

"not exists"

Пример

Давайте переберём содержимое каталога и для каждой записи выведем имя файла и результат проверки exists:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::directory_iterator it("/var/www"); for (const fs::directory_entry& entry : it) { cout << entry.path().filename().string() << " - " << entry.exists() << endl; } return 0; }

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

"index.html - 1" "style.css - 1" "script.js - 1"

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

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