问题描述
|
这个问题已经在这里有了答案:
解决方法
system
包含整个命令行的单个字符串,因此您将
system(\"/your/shell/script \'argument 1\' \'argument 2\'\");
使用ѭ0很少是一个好主意,因为您必须自己转义所有元字符-如上所示,即使空格也是一个问题。您正在寻找exec *函数之一,例如execv。它的第一个参数是程序的名称(在本例中为“ 3”或shell脚本本身),第二个参数是以NULL结尾的参数字符串列表:
char* program = \"/your/shell/script\";
char* args[3];
args[0] = \"argument 1\";
args[1] = \"argument 2\";
args[2] = NULL;
execv(program,args);
, system(\"scriptname arg1 arg2\")