我正在用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/

10-09 07:34