在C++中,你可以使用std::filesystem
库中的path
类来进行路径转换和创建目录
#include#include int main() { // 定义源路径和目标路径 std::string source_path = "C:/Users/username/Documents/source_folder"; std::string target_path = "C:/Users/username/Documents/target_folder/target_subfolder"; // 创建目标路径的父目录 std::filesystem::path target_parent(target_path).parent_path(); // 检查父目录是否存在,如果不存在则创建 if (!std::filesystem::exists(target_parent)) { if (std::filesystem::create_directories(target_parent)) { std::cout << "成功创建目录: " << target_parent << std::endl; } else { std::cerr << "无法创建目录: " << target_parent << std::endl; return 1; } } // 在目标父目录下创建子目录 std::string target_subfolder = "target_subfolder"; std::filesystem::path target_subfolder_path = target_parent / target_subfolder; if (!std::filesystem::exists(target_subfolder_path)) { if (std::filesystem::create_directory(target_subfolder_path)) { std::cout << "成功创建目录: " << target_subfolder_path << std::endl; } else { std::cerr << "无法创建目录: " << target_subfolder_path << std::endl; return 1; } } else { std::cout << "目录已存在: " << target_subfolder_path << std::endl; } return 0; }
这个示例中,我们首先定义了源路径和目标路径。然后,我们使用parent_path()
方法获取目标路径的父目录,并使用exists()
和create_directories()
方法检查并创建父目录(如果不存在)。接下来,我们在目标父目录下创建子目录,同样使用exists()
和create_directory()
方法。