我正在尝试使用 optparse-c library .这个库在我看来很有用。我发现没有
很清楚如何在不调用 prog -h
的情况下调用帮助。
如果我从函数签名 static void printopts(FILE *f)
中删除关键字 static
,我就可以做到
optparse.c
,那么我可以这样做:
int main(int argc, char **argv)
{
int i;
opt_basename(argv[0], '/');
if (opt_parse("usage: %s [options] arg1 arg2", options, argv) != 2) {
printopts(stderr);
exit(EXIT_FAILURE);
}
...
但是,在我看来,这个库的作者似乎对如何调用帮助功能有一些其他的想法。如果有人能帮我解决这个问题,我会很高兴。
我也试过这个:
char h[] = "-h";
opt_basename(argv[0], '/');
if (opt_parse("usage: %s [options] arg1 arg2", options, argv) != 2) {
argc++;
strcpy(argv[1], h);
opt_parse("usage: %s [options] arg1 arg2", options, argv);
exit(EXIT_FAILURE);
}
最佳答案
好吧,在深入研究源代码之后,我发现了一个不简单的(因为我还在学习 C)解决方案:
if (opt_parse("usage: %s [options] arg1 arg2", options, argv) != 2) {
opt_help(0, (void *)0);
exit(EXIT_FAILURE);
}
关于c - 如何使用 optparse-c 调用帮助功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20869361/