写在前面:
对于可选参数一定要使用以下两种方法标明其值 –wValue 或--who==Value 而不能是 --who Value,
而对于必填参数则可以使用-lValue 或 --love Value或--love=Value,
这并不是bug.
//============================================================================ // Name : TestOpt.cpp // Author : yangyh // Version : // Copyright : Your copyright notice // Description : Hello World in C++, Ansi-style //============================================================================ #include <iostream> #include <getopt.h> using namespace std; int version; struct option longopts[] = { { "version", no_argument, &version, 'v' }, { "name", no_argument, NULL, 'n' }, { "love", required_argument, NULL,'l' }, { "who",optional_argument,NULL,'w'}, { 0, 0, 0, 0 } }; int main(int argc, char *argv[]) { int c; while ((c = getopt_long(argc, argv, "vl:w::", longopts, NULL)) != -1) { switch (c) { case 'l': printf("love = %s!\n", optarg); break; case 0: // printf("getopt_long()设置变量 : version = %c\n", version); break; case 'v': printf("version..\n"); break;
case 'w': printf("who = %s\n",optarg); break; } } return 0; }
原文链接: https://www.cnblogs.com/yangyh/archive/2011/03/20/1989791.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/22569
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!