C++:
检查目录是否存在
如何做:
在现代C++(C++17及以后版本)中,你可以使用文件系统库来检查一个目录是否存在。它提供了一种直接且标准化的方式来执行文件系统操作,包括检查目录是否存在。
#include <iostream>
#include <filesystem>
namespace fs = std::filesystem;
int main() {
const fs::path dirPath = "/path/to/directory";
if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
std::cout << "该目录存在。" << std::endl;
} else {
std::cout << "该目录不存在。" << std::endl;
}
return 0;
}
如果目录存在,示例输出为:
该目录存在。
如果目录不存在,示例输出为:
该目录不存在。
对于尚未使用C++17或需要额外功能的项目,Boost文件系统库是一种流行的第三方选择,提供了类似的功能。
#include <iostream>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;
int main() {
const fs::path dirPath = "/path/to/directory";
if (fs::exists(dirPath) && fs::is_directory(dirPath)) {
std::cout << "该目录存在。" << std::endl;
} else {
std::cout << "该目录不存在。" << std::endl;
}
return 0;
}
使用Boost文件系统,输出将与C++17文件系统示例相同,具体取决于指定路径上目录的存在性。