Функция exists
Функция exists проверяет, существует ли файл или директория по заданному пути. В первый параметр мы передаем путь к файлу или директории, который необходимо проверить. Функция возвращает true, если объект по указанному пути существует, и false в противном случае. Для работы функции необходимо подключить заголовочный файл <filesystem>.
Синтаксис
bool exists(const std::filesystem::path& p);
Пример
Давайте проверим существование файла по пути /tmp/test.txt:
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main()
{
fs::path p = "/tmp/test.txt";
if (fs::exists(p)) {
cout << "Path exists" << endl;
} else {
cout << "Path does not exist" << endl;
}
return 0;
}
Результат выполнения кода:
"Path exists"
Пример
Давайте проверим существование директории по пути /tmp/nonexistent:
#include <iostream>
#include <filesystem>
using namespace std;
namespace fs = std::filesystem;
int main()
{
fs::path p = "/tmp/nonexistent";
bool res = fs::exists(p);
cout << boolalpha << res << endl;
return 0;
}
Результат выполнения кода:
false
Смотрите также
-
класс
path,
который представляет путь к файлу или директории -
функция
is_regular_file,
которая проверяет, является ли путь обычным файлом -
функция
is_directory,
которая проверяет, является ли путь директорией -
функция
is_symlink,
которая проверяет, является ли путь символической ссылкой