gpt4 book ai didi

c++ - 如何在不使用boost的情况下创建目录?

转载 作者:可可西里 更新时间:2023-11-01 11:12:29 26 4
gpt4 key购买 nike

我想在与我的程序相同的路径中创建一个目录,最终将数据保存到。为此,我需要由预处理器分支包围的特定于操作系统的调用,但在此之前我从未编写过任何特定于操作系统的代码。我不确定我需要包含哪些 header ,或者要使用它们的哪些功能。

如果操作系统是 Windows、Mac 和 Linux(无论哪种方法都适用于大多数 Linux 发行版),我应该使用哪些函数和 header ?

我不想为此使用 boost 文件系统的原因是,我整天都很难编译它;它的文档和构建系统,呃,对于我简单的灵魂来说似乎太学术/冗长了!最终,我相信维护 3 或 4 个单独的文件加载分支对我来说会更快。

最佳答案

在所有 Unix 系统(Linux、Mac OS X 等)上,您应该使用两个参数调用 mkdir:

mkdir(filename, 0755);

在 Windows 上,您希望使用 _mkdir 时只有一个参数:

_mkdir(filename);

所以你的代码应该说

#ifdef WIN32
#include <direct.h>
rc = _mkdir(filename);
#else
#include <sys/stat.h>
rc = mkdir(filename, 0755);
#endif

关于c++ - 如何在不使用boost的情况下创建目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27884953/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com