gpt4 book ai didi

带路径的 C++ 系统 mkdir

转载 作者:行者123 更新时间:2023-11-28 06:09:13 24 4
gpt4 key购买 nike

这里遇到了一个小问题。我正在尝试使用由正在使用的函数创建的可变目录名称在另一个目录中创建一个目录。基本上我想将任何创建的帐户存储在一个名为 accounts 的目录中,该目录与其他所有内容分开。这是我的功能:

system(("mkdir -p /home/user/Program/accounts"+accname).c_str());

我遇到的问题是它在 Programs 中创建目录作为 accounts(accname),而不是在以 accname 为目录的帐户中。

accname = tim 的示例目前看起来像 Program 中的 accountstim 而不是 accounts 中的 tim。

最佳答案

您正在传递 -p 标志,这将创建您还没有的所有目录,所以您走在正确的轨道上。

您需要添加另一个斜线以获得新目录。如果没有这个额外的斜杠,字符串末尾的任何内容都会成为帐户目录的一部分,而不是新目录的名称:

system(("mkdir -p /home/user/Program/accounts/"+accname).c_str()); // note the slash after accounts!

那会解决你的问题,但我建议不要使用 system 函数

编辑:使用 mkdir 仅适用于运行 POSIX 系统或提供 mkdir 函数的其他系统。如果您在 Windows 上,我不知道该怎么做。

建议改用 mkdir 系统调用。如果您只创建一个目录,则 mkdir 函数调用应该相对简单。如果您正在运行 Linux,您可以阅读它 here .

关于带路径的 C++ 系统 mkdir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31621156/

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