将帮助开关添加到控制台应用程序

时间:2013-08-01 03:52:54

标签: c linux console-application

我想知道如何制作在终端中运行的应用程序。我的意思是一个程序,他们可以随时输入-h寻求帮助,他们对要运行的命令有不同的选择...即你用完终端的任何linux应用程序。

任何资源都将受到赞赏。

2 个答案:

答案 0 :(得分:4)

在C中,您的主程序通常写为:

int main(int argc, char *argv[])

argv数组是参数(argv[0]是您运行的命令的名称),因此您只需检查if(argc > 1 && !strcmp(argv[1], "-h"))以查看您是否正在运行{{1} (并且只需使用-h打印到终端)。

如果您想要更合适的参数解析库,请查看printfhttps://www.gnu.org/software/libc/manual/html_node/Example-of-Getopt.html)。 GNU版本(这是Linux发行版中最常用的版本)也具有长参数的功能(处理getopt-h

答案 1 :(得分:0)

Nirk给出了您可以合理预期的最佳答案。你在这里问一个非常广泛的问题。我想补充一点,你应该下载GNU Core Utils的来源,并尽可能地通过代码。大多数命令行实用程序花费75%的代码收集,分组,处理,检查等命令行参数!选择一个带有一些简单选项的程序,因为复杂的选项会让你的头顶开出至少几个小时。