【问题标题】:Creating a directory In C or C++在 C 或 C++ 中创建目录
【发布时间】:2010-02-13 08:11:36
【问题描述】:

如何使用 C 代码创建目录(除了 fork 和使用 mkdir 的方法)?有没有像dirent.h这样的东西? dirent.h 只允许读取目录。 (不使用外部库)

【问题讨论】:

  • 我想同时了解 C 和 C++

标签: c++ c


【解决方案1】:

使用mkdir function

#include <sys/stat.h>
#include <sys/types.h>
int mkdir(const char *pathname, mode_t mode);

【讨论】:

    【解决方案2】:

    如果您可以使用 C++(根据所选标签的建议)和 boost 库,Boost 文件系统可以帮助您使用 create_directory 函数。

    如果您不想让项目中的所有 boost 库都可用,您可以下载一个名为 bcp 的工具来仅提取您需要的子集,在您的情况下是 boost 文件系统及其依赖项。

    【讨论】:

    • 使用 boost 比 mkdir 函数有什么好处吗?
    • Boost 是纯 c++,这意味着您不必将字符串转换为 char*。 Boost 文件系统允许您使用“路径”对象,如果您使用许多相关目录,则这些对象很容易使用。还有更多使用它的理由,但我没有深入研究它。
    • Boost 也是跨平台的。
    【解决方案3】:

    致电mkdir(2)

    【讨论】:

      【解决方案4】:

      随着c++17 的出现,我们有一个Filesystem library 提供用于操作文件和目录的工具。创建目录可以使用std::filesystem::create_directory

      例子:

      #include <filesystem>
      std::filesystem::create_directory("newdir");
      

      【讨论】:

        猜你喜欢
        • 2015-09-05
        • 2012-09-29
        • 1970-01-01
        • 2012-02-14
        • 2021-09-07
        • 2014-08-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多