c++之判断文件和路径是否存在
简介
- 判断文件/路径是否存在
- 新建文件/路径
代码
#include <boost/filesystem.hpp>
#include <boost/filesystem/fstream.hpp>
bool isDirExist(const std::string& path_name)
{
if (boost::filesystem::exists(path_name) && boost::filesystem::is_directory(path_name))
{
return true;
}
return false;
}
bool createNewDir(const std::string& path_name)
{
if (isDirExist(path_name))
{
return true;
}
return boost::filesystem::create_directories(path_name);
}
bool isFileExist(const std::string& file_name)
{
if (boost::filesystem::exists(file_name) && boost::filesystem::is_regular_file(file_name))
{
return true;
}
return false;
}
bool createNewFile(const std::string& file_name)
{
if (isFileExist(file_name))
{
return true;
}
boost::filesystem::ofstream file(file_name);
file.close();
return isFileExist(file_name);
}
笔记
-
由于
boost::filesystem::exists(test_dir)
该函数不区分文件夹还是文件,因此区分需要配合另外函数 -
路径是否存在:
boost::filesystem::exists(path_name)
+boost::filesystem::is_directory(path_name)
-
文件是否存在:
boost::filesystem::exists(file_name)
+boost::filesystem::is_regular_file(file_name)
-
创建目录:
create_directories
: 可以创建多级目录 -
创建文件:
boost::filesystem::ofstream
: 不能创建不存在目录下的文件
参考
chrislzy: 如有疑惑,错误或者建议,请在评论区留下您宝贵的文字; 转载请注明作者和出处,未经允许请勿用于商业用途!