Edited at

C++におけるファイルの存在確認

More than 1 year has passed since last update.

ファイルの存在確認のコードをたまに使うので、覚書きを残しておきます。


Windows APIを使う方法

#include<Windows.h>

#include<iostream>
#include<Shlwapi.h>

#pragma comment(lib, "Shlwapi.lib")

int main(int argc, char* argv[])
{
char path[] = "";
if (PathFileExists(path))
{
std::cout << "file exists." << std::endl;
}
else
{
std::cout << "file doesn't exist." << std::endl;
}
return 0;
}


標準ライブラリを使う方法

※ご指摘いただきましたので、追記します。

#include<string>

#include<fstream>
#include<iostream>

bool checkFileExistence(const std::string& str)
{
std::ifstream ifs(str);
return ifs.is_open();
}


参考文献

cppreference.com std::basic_ifstream::is_open