在 C 中创建文件夹

新手上路,请多包涵

我最近开始使用 C++ 工作,当我必须在执行代码时创建目录时遇到了这种情况。当我必须创建一个文件夹时,代码工作正常,但是当我必须使用这个新创建的文件夹创建另一个文件夹时,它会失败。

假设,我在 C: 并且想将我的文件存储在 C:/A/B/ 。以下使用 mkdir() 的代码可以正常工作,如果我有 C:/A/ 但是当我添加另一个文件夹时失败 B

以下是我的代码片段:

 #include <sys/stat.h>
#include <string>
using namespace std;

int main()
{
    string stringpath = "C:/A/B/";
    int status = mkdir(stringpath.c_str(),0777);

    if(status!=0)
    {
        //.....
    }
    else
    {
        //....
    }
}

有人可以帮我创建这个目录,我可以在父目录中拥有任意数量的文件夹吗? (PS:我已经添加了头文件sys/stat.h,iostream和string)

原文由 PRAS 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 882
1 个回答

尝试像这样使用八进制标志 7777 以获得创建此文件夹所需的所有权限。

 int status = mkdir(stringpath.c_str(), 7777);

或者像这样在 A 文件夹中执行 chmod:chmod -r 7777 *

原文由 XmanJob 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题