0

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

任何资源将不胜感激。

4

2 回答 2

4

在 C 中,你的主程序通常写成:

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

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

如果您想要一个更合适的参数解析库,请查看getopthttps://www.gnu.org/software/libc/manual/html_node/Example-of-Getopt.html)。GNU 版本(这是大多数 Linux 发行版使用的版本)还具有长参数(处理-h--help)的功能

于 2013-08-01T03:56:19.667 回答
0

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

于 2013-08-01T04:44:35.163 回答