Linux C/C++对Popt库分析命令行的一般使用


// 定义本函数局部变量

int        iResult = 0; // 本函数返回值变量

int        iShortName = 0; // 取得命令行中的(单个字符的)短选项名

char **szTmpargv = (char**)argv; // 临时指向参数字符串数组

/// 1. 定义保存选项参数值的变量

int                    iHelpFlag = 0; // 是否是帮助功能选项

char               *szIPadr = NULL; // IP地址字符串指针

unsigned short nPort = 0; // 网络端口号

/// 2. 自定义选项描述列表

poptOption optionsTable[] = {{ "help",                                 // 字符串形式的选项名

'h',                                       // 单个字符形式的选项名

POPT_ARG_NONE,                // 选项无参数类型,

// 命令行存在这个选项,

// 则下面指针指向的整形变量为非零值

&iHelpFlag,                          // 字符指针(char*)的指针

0,                                        // 一般没有什么用,

// 但如果使用POPT_ARG_CALLBACK,

// 则它在回调函数中是有用的。

// 如果不想用它,把它设置为0。

"Show this help message", // 用于对 --help 选项自动生成输出信息,

// 用于描述选项

NULL },                                // 用于对 --help 选项自动生成输出信息,

// 描述选项的参数

{ "IPAddress",                               // 字符串形式的选项名

'a',                                             // 单个字符形式的选项名

POPT_ARG_STRING,                   // 选项参数字符串类型

&szIPadr,                                   // 字符指针(char*)的指针

0,                                               // 一般没有什么用,

// 但如果使用POPT_ARG_CALLBACK,

// 则它在回调函数中是有用的。

// 如果不想用它,把它设置为0。                                                                "Set IP address of DVR",          // 用于对 --help 选项自动生成输出信息,

// 用于描述选项

"For example: 192.168.6.18" }, // 用于对 --help 选项自动生成输出信息,

// 描述选项的参数

{ "Port",                                          // 字符串形式的选项名

'p',                                               // 单个字符形式的选项名

POPT_ARG_INT,                            // 选项参数整数类型

&nPort,                                         // 整形变量(int)的指针

0,                                                 // 一般没有什么用,

// 但如果使用POPT_ARG_CALLBACK,

// 则它在回调函数中是有用的。

// 如果不想用它,把它设置为0。

"Set Port of DVR",                        // 用于对 --help 选项自动生成输出信息,

// 用于描述选项

"Value range from 1 to 65535" }, // 用于对 --help 选项自动生成输出信息,

// 描述选项的参数

  • 1
  • 2
  • 下一页

相关内容