在Linux平台上,我具有如下的C++代码:
// ...
std::string myDir;
myDir = argv[1]; // myDir is initialized using user input from the command line.
std::string command;
command = "mkdir " + myDir;
if (system(command.c_str()) != 0) {
return 1;
}
// continue....
谢谢。
最佳答案
只是不要使用system
。首选execl
。
execl ("/bin/mkdir", "mkdir", myDir, (char *)0);
这样,
myDir
始终作为单个参数传递给mkdir
,并且不涉及 shell 程序。请注意,如果使用此方法,则需要 fork
。但是,如果这不只是一个示例,则应使用
mkdir
C函数:mkdir(myDir, someMode);