【发布时间】:2012-09-10 05:04:17
【问题描述】:
我似乎无法让它工作。 wordexp() 当我这样称呼它时,它的效果非常好:
wordexp("beep", &p, 0);
w = p.we_wordv;
argc = p.we_wordc;
但是我想传入一些用户将输入的值,然后从中获取argv 和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 做到这一点)?
【问题讨论】:
-
你大概使用
*argc = p.we_wordc;?否则,您的编译器应该会向您抱怨。