我正在用C编写一个程序,它就像一个控制台,这样用户就可以指定要执行的不同命令(这些命令也是由我定义的)就像下面这个:
>cmd1 arg
(result blah blah blah)
>
我想显示使用信息如下:
>help
Usage: cmd1 arg1 [arg2]
cmd2 arg1 [arg2]
cmd3 arg1 [arg2]
....
但我发现定义字符串或宏(比如
"Usage: cmd1 arg1 [arg2] \n \t "...
)很笨拙(我不确定它是否正常)。有什么最佳实践可以这样做吗?
最佳答案
标准做法是生成一个usage
函数,当满足某些条件(没有参数传递给程序等)时,可以调用该函数,如下所示:
void usage(void) {
printf("Usage: cmd1 arg1 [arg2]\n"
" cmd2 arg1 [arg2]\n"
" cmd3 arg1 [arg2]\n"
...
" cmdn arg1 [arg2]\n"); // if the string is too long you'll have
// to break it up into multiple printfs
}
int main(int argc, char** argv) {
if (argc < 2) {
usage();
return 0;
}
// main program....
}
关于c - 在用C编写的程序中编写/显示帮助/使用信息的便捷实践?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8556232/