ファイルもフォルダも同じくexistsでチェック
#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
void main() {
// ファイルパスの存在チェック
fs::path file_path(R"(c:\temp\file_1.txt)");
bool result_file_path = fs::exists(file_path);
if (result_file_path) {
std::cout << "存在する" << std::endl;
}
else {
std::cout << "存在しない" << std::endl;
}
// フォルダパスの存在チェック
fs::path folder_path(R"(c:\temp\folder_1)");
bool result_folder_path = fs::exists(folder_path);
if (result_file_path) {
std::cout << "存在する" << std::endl;
}
else {
std::cout << "存在しない" << std::endl;
}
return;
}
例外を含めて記載するとこんな感じ。
#include <filesystem>
#include <iostream>
namespace fs = std::filesystem;
void main() {
try {
// ファイルパスの存在チェック
fs::path file_path(R"(c:\temp\file_1.txt)");
bool result_file_path = fs::exists(file_path);
if (result_file_path) {
std::cout << "存在する" << std::endl;
}
else {
std::cout << "存在しない" << std::endl;
}
// 他いろんな処理...
}
catch (const fs::filesystem_error& e) {
std::cout << e.what() << std::endl;
}
catch (const std::exception& e) {
std::cout << e.what() << std::endl;
}
return;
}