getopt(win32) -- 命令行参数解析函数

28 篇文章 0 订阅

http://blog.chinaunix.net/uid-784937-id-2553410.html

GNU libc提供了getopt和getopt_long用于解析命令行参数,很好用,想在windows下使用,就google了几个win32下的C/C++写得getopt,并作了一些比较。

程序里往往会有许多开关的,运行时就要传入许多参数值来打开或关闭这些开关。以前,每写一个程序就要花一些精力来写这段代码,因为是给自己用,就比较偷懒,写得很丑陋,时间长了,自己再回过头来用自己的东西的时候,心里骂了一遍又一遍,真tmd挫。

最近终于无可忍受了,决定自己写一个解析命令行参数的函数。但本着不重复制造车轮的哲学(其实是想偷懒:)),于是google了一把getopt。找到几个windows下可以用的getopt程序:

Pete Wilson写的getopt 行为和GNU libc中的getopt一样。可惜没有提供getopt_long的win32版本。编译这个程序要打开宏WIN32。

free getopt 宣称是独立于系统的。也没有提供getopt_long。与GNU libc的getopt行为有一些区别,比如


>test in1 in2 -o out
这里in1不会被解析。

>test in2 in1 -o out
这里in2不会被解析。

FreeDOS下的GETOPT_L 用/作为选项的前缀,用=给选项赋值,支持长参数。不过会将某个non-option argument后面所有的arguments视为一个non-option argument,比如

>test.exe yan /x=xie
这里"yan /x=xie"会被当作一个non-option参数。

xgetopt getopt的桌面demo程序。不支持长参数。也会将某个non-option argument后面所有的arguments视为一个non-option argument。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值