@RR
2017-03-30T04:52:08.000000Z
字数 913
阅读 317
flex
在这个项目里面完成几个函数用于解析命令行参数。
void* parse_args(const char* schema, const char* args);bool get_boolean(void* context, char arg);const char* get_string(void* context, char arg);int get_int(void* context, char arg);double get_double(void* context, char arg);
首先你需要完成的第一个函数是void* parse_args(const char* schema, const char* args);。这个函数第一个参数schema描述了第二个参数args的格式是什么。比如说可以这样调用
pContext = parse_args("s*,l,p#,d##", "-s www.intel.com -p 8080 -l -d 23.45");
"s*,l,p#,d##"指明了只有多个参数,-s,-l,-p,-d。其中
*的意思是字符串,s*指明参数-s后面的跟着的是个字符串。
单个字符,比如说l指明参数-l是个布尔开关。
#指明参数是个整形,比如说-p后面是个数字
##指明参数是个浮点类型,比如说-d后面是23.45
一些列get_*函数用于获取参数的具体的值。比如说
get_boolean(pContext,'l')返回就是True;
get_double(pContext,'d)返回的就是23.45