我有以下代码:execvp()不接受用户输入
int main(void) {
char in[100];
printf("> ");
fgets(in, sizeof(in), stdin);
int pid;
char *f[100];
char *v;
int i = 1;
v = strtok(in, " ");
f[0] = v;
while (v = strtok(NULL, " ")){
f[i] = v;
i++;
}
f[i] = NULL;
execvp(f[0], f);
perror("FAILED");
exit(1);
}
出于某种原因,我随时在类似“ls -l命令”或“日期”输入,它告诉我没有这样的文件或目录。当我在代码中写道:
f[0] = "ls";
f[1] = "-l";
f[2] = NULL;
它工作正常。有任何想法吗?
是的,那是固定的。非常感谢! – me45 2013-02-14 04:33:49