关于VC/MFC中获得argc,argv的问题

来源:互联网 发布:java里解压缩gzip文件 编辑:程序博客网 时间:2024/05/29 18:03

在网上搜索了两天,各种方法都有,不过貌似都存在这样那样的问题……

在VC/MFC中获得传给程序的参数,最靠谱的方法,貌似就是调用系统api:"GetCommandLine()"。

这个函数能够获得传递给程序的整个命令行,当然我们需要的不仅仅是如此,还要把参数分成一个一个的,所以有了这一个系统api:"CommandLineToArgvW()"

通过这两个api就能够正常的获得传递给程序的参数了。

代码如下:

LPTSTR cmd = ::GetCommandLine();int argc = 0;WCHAR  * const *argv;argv = ::CommandLineToArgW(cmd, &argc);
然后就可以使用了

在网上看到有手动去使用strtok来分割“GetCommandLine”获得的命令行的方法,这种方法有个缺陷,就是当程序的路径中有空格的时候,就会出现错误。

原创粉丝点击