我正在用 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....
}
我是一名优秀的程序员,十分优秀!