我似乎无法让它工作。wordexp()
当我这样称呼它时,效果非常好:
wordexp("beep", &p, 0);
w = p.we_wordv;
argc = p.we_wordc;
但是我想传入一些用户将输入的值,然后从中获取argv
and argc
。现在我有以下代码,但我总是收到“分段错误”或“EXC_BAD_ACCESS”:
char **parseCommand(char *args, int *argc) {
printf("args %s\n", args);
wordexp_t p;
char **w;
int i;
char *beep;
wordexp(args, &p, 0);
w = p.we_wordv;
argc = p.we_wordc;
wordfree(&p);
return w;
}
当我打印参数时,它会显示它。我什至尝试strcpy
将 args 转换为另一个字符串。但仍然得到错误。一定很傻(或者不能用wordexp做到这一点)?