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

Функция is_regular_file

Функция is_regular_file проверяет, указывает ли путь на обычный файл. Под обычным файлом понимается файл, который не является директорией, символической ссылкой или другим специальным файлом. В первый параметр мы передаем путь типа std::filesystem::path, который нужно проверить, а во второй необязательный параметр - объект ошибки для получения подробной информации о сбое.

Синтаксис

bool is_regular_file(const std::filesystem::path& p); bool is_regular_file(const std::filesystem::path& p, std::error_code& ec);

Пример

Давайте проверим, является ли файл test.txt обычным файлом:

#include <iostream> #include <filesystem> #include <fstream> using namespace std; namespace fs = std::filesystem; int main() { ofstream("test.txt") << "hello"; fs::path p = "test.txt"; cout << fs::is_regular_file(p) << endl; return 0; }

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

1

Пример

Давайте проверим, является ли директория /tmp обычным файлом:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "/tmp"; cout << fs::is_regular_file(p) << endl; return 0; }

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

0

Пример

Давайте проверим несуществующий путь и выведем сообщение об ошибке:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "no_such_file.txt"; error_code ec; bool res = fs::is_regular_file(p, ec); if (ec) { cout << ec.message() << endl; } else { cout << res << endl; } return 0; }

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

0

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

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