[英]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.