c++如何创建和删除文件夹_c++ 文件夹创建与删除方法

c++kquote>C++中创建和删除文件夹推荐使用C++17的std::filesystem,通过create_directory/create_directories创建目录,remove/remove_all删除目录,跨平台且安全。

c++如何创建和删除文件夹_c++ 文件夹创建与删除方法

在C++中创建和删除文件夹,标准库本身不直接提供跨平台的文件夹操作函数。但可以通过结合系统调用或使用C++17引入的 std::filesystem 来实现。以下是几种常用方法。

使用 C++17 std::filesystem(推荐)

从C++17开始,std::filesystem 提供了跨平台的文件系统操作接口,包括创建和删除目录。

需要包含头文件:,并使用命名空间 std::filesystem

创建文件夹:

使用 create_directorycreate_directories 函数。

立即学习“C++免费学习笔记(深入)”;

create_directory(path):创建单层目录,父目录必须已存在。 create_directories(path):递归创建多层目录,自动创建缺失的父目录。示例代码:

#include #include int main() {    std::filesystem::path dir{"test_folder/subdir"};    // 递归创建多层目录    if (std::filesystem::create_directories(dir)) {        std::cout << "目录创建成功";    } else {        std::cout << "目录可能已存在或创建失败";    }    return 0;}

删除文件夹:

使用 removeremove_all

remove(path):删除空目录或文件。 remove_all(path):递归删除整个目录树(包括所有子文件和子目录)。示例代码:

#include #include int main() {    std::filesystem::path dir{"test_folder"};    // 删除整个目录及其内容    std::uintmax_t count = std::filesystem::remove_all(dir);    std::cout << "删除了 " << count << " 个条目";    return 0;}

Windows 平台 API 方法

在 Windows 下,可以使用 Windows.h 中的 API。

创建文件夹:

使用 CreateDirectoryA()

#include int main() {    CreateDirectoryA("C:my_folder", NULL);    return 0;}

删除文件夹:

使用 RemoveDirectoryA(),只能删除空目录。

RemoveDirectoryA("C:my_folder");

Linux/Unix 系统调用

在 Linux 下可使用 mkdir()rmdir(),需包含

创建目录:

#include #include int main() {    mkdir("my_folder", 0755); // 权限设置    return 0;}

删除空目录:

rmdir("my_folder");

注意:若目录非空,需先删除内部文件,或使用 system(“rm -rf my_folder”)(不推荐用于生产)。

跨平台兼容性建议

为保证代码可移植性,优先使用 C++17 的 std::filesystem。编译时需启用 C++17 支持:

GCC/Clang: 添加 -std=c++17 编译选项 Visual Studio: 默认支持(VS2017 及以上)

基本上就这些。使用 filesystem 是现代 C++ 推荐做法,简洁且安全。旧项目中可根据平台选择系统调用。

以上就是c++++如何创建和删除文件夹_c++ 文件夹创建与删除方法的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1478861.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月19日 03:17:40
下一篇 2025年12月19日 03:17:54

相关推荐

发表回复

登录后才能评论
关注微信