2013-08-01 60 views
0

我想知道如何使應用程序在終端中運行。我的意思是一個程序,他們可以在任何時候輸入-h尋求幫助,他們對運行什麼命令有不同的選擇......即任何終端用完的linux應用程序。將幫助開關添加到控制檯應用程序

任何資源,將不勝感激。

+0

您可能會喜歡看'man 3 getopt'。 'getopt *()'函數系列提供了一種實現和解析諸如'-h'的命令行選項的便捷方式。 – alk

回答

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

+1

'argp'函數也在Glibc中,並且可以更容易使用,請參閱[here](https://www.gnu.org/software/libc/manual/html_node/Argp.html) –

0

Nirk給出了您可以合理預期的最佳答案。你在這裏問一個非常廣泛的問題。我想補充一點,你應該下載GNU Core Utils的源代碼,並儘可能地瀏覽代碼。大多數這些命令行實用程序花費75%的代碼收集,分組,處理,檢查等命令行參數!用一些簡單的選項選擇一個程序,因爲複雜的程序會讓你的頭部至少打開幾個小時。

相關問題