在这里遇到了一点小麻烦。我试图使用正在使用的函数创建的变量目录名在另一个目录中创建一个目录。基本上,我希望将任何创建的帐户存储在一个名为accounts的目录中,该目录与其他所有内容都是分开的。以下是我的职能:
system(("mkdir -p /home/user/Program/accounts"+accname).c_str());我遇到的问题是,它将程序中的目录创建为accounts( accname ),而不是以accname为目录的帐户。
使用accname = tim的示例当前看起来像是Program中的accountstim,而不是accounts中的tim。
发布于 2015-07-24 23:36:35
您正在传递-p标志,它将创建您尚未拥有的所有目录,因此您处于正确的轨道上。
您需要添加另一个斜杠才能获得一个新目录。如果没有这个额外的斜杠,字符串末尾的任何内容都会成为accounts目录的一部分,而不是新目录的名称:
system(("mkdir -p /home/user/Program/accounts/"+accname).c_str()); // note the slash after accounts!这将解决您的问题,但我建议不要使用system函数
编辑:只在运行POSIX系统或提供mkdir函数的其他系统时才使用mkdir。如果你在窗户上,我不知道该怎么做。
最好使用mkdir系统调用。如果您只创建一个目录,那么mkdir函数调用应该相对简单。如果您正在运行Linux,您可以阅读有关它的这里。
https://stackoverflow.com/questions/31621156
复制相似问题