我正在用C编写一个程序,它就像一个控制台,这样用户就可以指定要执行的不同命令(这些命令也是由我定义的)。如下图所示:
>cmd1 arg
(result blah blah blah)
>我想要显示使用信息,如下所示:
>help
Usage: cmd1 arg1 [arg2]
cmd2 arg1 [arg2]
cmd3 arg1 [arg2]
....但是我发现定义像"Usage: cmd1 arg1 [arg2] \n \t "...这样的字符串或宏是很笨拙的(我不确定它是不是可以)。有没有这样做的最佳实践?
发布于 2011-12-19 09:25:01
标准做法是创建一个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....
}https://stackoverflow.com/questions/8556232
复制相似问题