C++如何在main函数外访问命令行参数?

6
我有几个命令行应用程序,它们都最终调用com对象。不想为这些com对象添加新接口,它们能否访问从命令行传递的参数?
编辑:类似于我可以调用GetModuleFileName来获取文件名。我想知道是否有等效的方法来获取参数。
3个回答

10
你需要的是Win32 API:GetCommandLine
你的COM对象可能需要在你的进程内运行。
要将命令行转换为argv样式的字符串数组,请调用CommandLineToArgvW函数。

1
谢谢,我一直在找这个。 - Kyle

3

那是平台特定的。

在Win32中,您可以使用GetCommandLine()函数。

不过,您需要手动解析它。


1
在Windows中,您可以使用WIN32函数(GetCommandLine)调用获取命令行,但它不会像argc / argv一样解析为数组。如果COM对象使用MFC,则可以从CWinApp对象中获取命令行参数。否则,没有简单的方法可以做到这一点。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接