在C++中,你可以使用跨平台的第三方库来进行文件系统操作,其中比较常用的是Boost库和C++17标准引入的std::filesystem
。std::filesystem
提供了一个跨平台的文件系统操作接口,包括创建目录、删除目录等功能。
std::filesystem::create_directory()
创建文件夹
std::filesystem::create_directories()
创建多级目录
如果文件夹或子目录不存在会自动创建,存在就直接忽略。
以下是使用std::filesystem
创建目录的示例代码:
#include <iostream>
#include <filesystem> // C++17标准引入的文件系统头文件int main() {std::string dirname = "my_directory"; // 要创建的目录名称// 使用 std::filesystem::create_directory() 函数创建目录try {std::filesystem::create_directory(dirname);std::cout << "目录创建成功: " << dirname << std::endl;} catch (const std::filesystem::filesystem_error& ex) {std::cout << "无法创建目录: " << dirname << std::endl;std::cerr << ex.what() << std::endl;}return 0;
}
这段代码使用了C++17标准中引入的std::filesystem::create_directory()
函数来创建目录。这个函数会根据当前平台自动选择相应的实现,因此可以跨平台使用。需要注意的是,使用std::filesystem
需要编译器支持C++17标准或更高版本。
如果还在用很老的编译器,那就用Boost库来实现,否则只能跟C一样来创建目录了,可以看我写的用C创建多级目录的那篇文章。