簡體   English   中英

如何在c / c ++的命令行程序中創建--help選項?

[英]How do I create a --help option in a command-line program in c/c++?

我很確定這很簡單。 是否有用於在命令行程序中創建幫助上下文的預定義標頭。

$ program-幫助

將提供各種幫助選項的列表。

在c ++中最簡單的方法是:

int main(int argc, char** argv)
{
    if(argc == 2 && strcmp(argv[1], "--help")==0)
    {..print help here..}
    return 0;
}

這些東西...

int main(int argc, char* argv[])
{
    std::vector<std::string> cmdLineArgs(argv, argv+argc);

    for(auto& arg : cmdLineArgs)
    {
        if(arg == "--help" || arg == "-help")
        {
            std::cout << "Helpful stuff here\n";
        }
        else if(arg == "whatever")
        {
            std::cout << "whatever?!\n";
        }
    }
}

當然,有一些庫可以處理cmd行參數。 但是對於簡單的事情,自己做起來並不難。

對於C ++,您具有Boost.Program_options

http://www.boost.org/doc/libs/1_55_0/doc/html/program_options.html

但是您必須帶上整個Boost庫(第一次做起來可能很乏味)。

我認為您應該看看這個庫: Getopt ,它是GNU C庫的一部分。 它使您可以有效地解析-like參數。

您可以根據自己的意願以多種方式進行操作。

您可以使用strcmp()並僅解析argv [1]:

if(strcmp(argv[1],"--help") == 0)

或者,如果您正在運行linux,則可以使用getopt:

http://www.gnu.org/software/libc/manual/html_node/Getopt.html

getopt_long是您的朋友。 對於一個字符的選項, getopt就足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM