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

c++怎么创建文件夹_C++编程实现目录或文件夹的创建

尼克
发布: 2025-10-10 16:18:01
原创
528人浏览过
c++kquote>在C++中创建文件夹需使用平台相关API或C++17的filesystem库,Windows下用CreateDirectoryA,Linux下用mkdir,跨平台推荐std::filesystem::create_directory。

c++怎么创建文件夹_c++编程实现目录或文件夹的创建

在C++中创建文件夹(目录),可以使用操作系统提供的API。由于标准C++库没有直接支持目录操作的函数,因此需要借助平台相关的系统调用。下面分别介绍在Windows和Linux系统下如何用C++创建文件夹。

Windows下创建文件夹

在Windows环境下,可以使用CreateDirectory函数来创建目录。该函数定义在<windows.h>头文件中。

示例代码:

#include <iostream>
#include <windows.h>
<p>int main() {
const char* path = "C:\MyNewFolder";</p><pre class='brush:php;toolbar:false;'>if (CreateDirectoryA(path, NULL)) {
    std::cout << "文件夹创建成功!" << std::endl;
} else {
    DWORD error = GetLastError();
    if (error == ERROR_ALREADY_EXISTS) {
        std::cout << "文件夹已存在。" << std::endl;
    } else {
        std::cout << "创建失败,错误代码:" << error << std::endl;
    }
}

return 0;
登录后复制

}

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

牛小影
牛小影

牛小影 - 专业的AI视频画质增强器

牛小影 420
查看详情 牛小影

说明:
- 使用CreateDirectoryA处理ANSI字符串,若使用宽字符可用CreateDirectoryW
- GetLastError()用于获取失败原因。

Linux下创建文件夹

在Linux或类Unix系统中,使用mkdir()函数,定义在<sys/stat.h><sys/types.h>头文件中。

示例代码:

#include <iostream>
#include <sys/stat.h>
#include <sys/types.h>
#include <cerrno>
#include <cstring>
<p>int main() {
const char* path = "/tmp/MyNewFolder";</p><pre class='brush:php;toolbar:false;'>int result = mkdir(path, 0755); // 权限设置为 rwxr-xr-x

if (result == 0) {
    std::cout << "文件夹创建成功!" << std::endl;
} else {
    if (errno == EEXIST) {
        std::cout << "文件夹已存在。" << std::endl;
    } else {
        std::cout << "创建失败:" << std::strerror(errno) << std::endl;
    }
}

return 0;
登录后复制

}

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

说明:
- 第二个参数是权限模式,常用0755表示所有者可读写执行,其他用户可读和执行。
- 错误信息通过errnostrerror()获取。

跨平台解决方案建议

如果你希望代码能在多个平台运行,可以用预处理器判断操作系统,选择对应的实现方式。

#ifdef _WIN32
    #include <windows.h>
    CreateDirectoryA("test_folder", NULL);
#else
    #include <sys/stat.h>
    mkdir("test_folder", 0755);
#endif
登录后复制

也可以考虑使用C++17引入的<filesystem>库,它提供跨平台的目录操作功能。

C++17 filesystem 示例:

#include <iostream>
#include <filesystem>
<p>int main() {
std::string path = "new_folder";</p><pre class='brush:php;toolbar:false;'>try {
    if (std::filesystem::create_directory(path)) {
        std::cout << "文件夹创建成功!" << std::endl;
    } else {
        std::cout << "文件夹已存在或创建被阻止。" << std::endl;
    }
} catch (const std::exception& e) {
    std::cout << "错误:" << e.what() << std::endl;
}

return 0;
登录后复制

}

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

编译时注意:使用filesystem需链接stdc++fs库,例如:
g++ -std=c++17 your_code.cpp -lstdc++fs

基本上就这些方法,根据你的开发环境选择合适的方式即可。

以上就是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号