首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在用C编写的程序中编写/显示帮助/用法信息的便捷实践?

在用C编写的程序中编写/显示帮助/用法信息的便捷实践?
EN

Stack Overflow用户
提问于 2011-12-19 09:20:45
回答 2查看 770关注 0票数 3

我正在用C编写一个程序,它就像一个控制台,这样用户就可以指定要执行的不同命令(这些命令也是由我定义的)。如下图所示:

代码语言:javascript
复制
>cmd1 arg
(result blah blah blah)
>

我想要显示使用信息,如下所示:

代码语言:javascript
复制
>help
Usage: cmd1 arg1 [arg2]
       cmd2 arg1 [arg2]
       cmd3 arg1 [arg2]
       ....

但是我发现定义像"Usage: cmd1 arg1 [arg2] \n \t "...这样的字符串或宏是很笨拙的(我不确定它是不是可以)。有没有这样做的最佳实践?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-19 09:25:01

标准做法是创建一个usage函数,当满足某些条件(没有参数传递给程序等)时可以调用该函数,如下所示:

代码语言:javascript
复制
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....
}
票数 2
EN

Stack Overflow用户

发布于 2011-12-19 09:36:53

如果你正在为一个可以使用gnu argp library的系统编程,你最好研究一下它。它使处理参数变得更容易,并为您创建帮助/用法消息和选项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8556232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档