笑落天狼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

前几天因为需要做一个多参数的命令行程序,所以想起linux下有个很好用的getopt,于是上网下来了
GUN的getopt源码,试着编译了一下,竟然可以在VC下编译 :-)这下在windows下也有getopt可以用了,
爽!就一个字。

代码我做了一点修改,去掉了和Win系统无关的代码,但是保留了原来的注释,这样读起来可以更方便一些。

下面是头文件:

 

Code

 

下面是cpp文件:

 

Code

 

 

上面代码在VC6和VC9下编译通过,在命令行下输入:getopt -a -b -c5 9 结果显示
option a
option b
option c with value `5'
non-option ARGV-elements: 9

怎么样?happy吧 O(∩_∩)O~
也许有朋友会问:我在Win32程序中也可以使用它么?
其实不用担心,stdlib.h中为我们准备了两个好东东__argc,__argv可以用,只要包含stdlib.h
然后在程序中直接用就可以了,就像下面这样。

int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
 Test(__argc,__argv);
 return 0;
}

上面的代码同样适用于BCB6。

 

 

 

posted on 2009-07-17 09:06  笑落天狼  阅读(8497)  评论(3编辑  收藏  举报