c++系统mkdir与路径
C++ system mkdir with path
这里遇到了点小问题。我试图使用由使用的函数创建的变量目录名称在另一个目录内创建一个目录。基本上,我想将任何创建的帐户存储在一个名为帐户的目录中,该目录与其他所有内容分开。下面是我的函数:
system(("mkdir -p /home/user/Program/accounts"+accname).c_str());
我遇到的问题是,它将程序中的目录创建为帐户(accname),而不是在帐户中以accname作为目录。
accname = tim的例子现在看起来像Program里面的accountstim,而不是account里面的tim。
您正在传递-p标志,它将创建您还没有的所有目录,因此您的方向是正确的。
你需要添加另一个斜杠来获得一个新目录。如果没有这个额外的斜杠,字符串末尾的任何内容都将成为accounts目录的一部分,而不是新目录的名称:
system(("mkdir -p /home/user/Program/accounts/"+accname).c_str()); // note the slash after accounts!
这将解决您的问题,但我建议不要使用system
函数
编辑:使用mkdir仅适用于运行POSIX系统或其他提供mkdir函数的系统。如果你用的是windows,我就不知道该怎么做了。
建议使用mkdir系统调用。如果只创建一个目录,那么mkdir函数调用应该相对简单。如果你使用的是Linux,你可以在这里阅读。
相关文章:
- 如何将更多文件夹添加到c++include路径
- 带有特殊路径部分的"std::filesystem::weakly_canonical"失败
- C++A*算法并不总是在路径中具有目标节点
- 从函数角度看ID到文件路径的内部与外部映射
- boost xml parsingl将xml的路径作为变量发送
- 对于MacOS上的G++,如何添加默认的include目录/usr/local/include和默认的库搜索路径/usr
- 如何使用cppcheck处理半相对包含路径
- 在C++中设置基于操作系统的文件路径
- 基于编译器选项的编译二进制路径
- 按边长度递归搜索图中所有可行路径
- 使用变量值作为 PlaySound 中的路径
- 如何转换真实路径 CString c++
- 从 GUID 获取 USB 卷路径
- 查找 GCD:并非所有控制路径都返回值
- C++17 文件系统::remove_all 带有通配符路径
- 在带有尾部斜杠的路径上返回 std::filesystem::create_directories() 的值
- 获取当前正在运行的 exe 名称(不是路径)
- 如何从 Skia 路径几何体中获取网格?
- 为什么使用 mkdir () 函数比使用 system ('mkdir 路径')快得多?
- c++系统mkdir与路径