首页 > 后端开发 > C++ > 正文

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

穿越時空
发布: 2025-10-13 23:56:01
原创
644人浏览过
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 提供了跨平台的文件系统操作接口,包括创建和删除目录。

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

创建文件夹:

使用 create_directorycreate_directories 函数。

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

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

#include <iostream>
#include <filesystem>

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 <iostream>
#include <filesystem>

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。

文心大模型
文心大模型

百度飞桨-文心大模型 ERNIE 3.0 文本理解与创作

文心大模型 56
查看详情 文心大模型
创建文件夹:

使用 CreateDirectoryA()

#include <windows.h>

int main() {
    CreateDirectoryA("C:\my_folder", NULL);
    return 0;
}
登录后复制

删除文件夹:

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

RemoveDirectoryA("C:\my_folder");
登录后复制

Linux/Unix 系统调用

在 Linux 下可使用 mkdir()rmdir(),需包含 <sys/stat.h><sys/types.h>

创建目录:

#include <sys/stat.h>
#include <sys/types.h>

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++ 文件夹创建与删除方法的详细内容,更多请关注php中文网其它相关文章!

c++速学教程(入门到精通)
c++速学教程(入门到精通)

c++怎么学习?c++怎么入门?c++在哪学?c++怎么学才快?不用担心,这里为大家提供了c++速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号