c++ - 在旧式 main() 的参数中分解 WinMain 的 cmdLine

标签 c++ c windows winapi

我想将 WinMaincmdLine 参数转换为 argcargv 以便我可以使用该参数我为控制台应用程序编写的解析函数。

除了我也想支持“引号”之外,这将是微不足道的。例如:

test.exe test1 test2 "测试测试"

应该是

argv[0] = "test.exe"; argv[1] = "test1"; argv[2] = "test2"; argv[3] = "testing testing";

我意识到 cmdLine 没有程序名称(argv[0]);没关系,我可以使用虚拟值。

我正在考虑使用正则表达式,(("[^"]+")\s+)|(([^\s]+)\s*) 我是不知道它的效果如何.. 可能不是很好?在 windows api 中是否有任何功能可以做到这一点?谢谢

最佳答案

如果您使用的是 Microsoft 编译器,则有公共(public)符号 __argc , __argv__wargv定义于 stdlib.h .这也适用于使用 Microsoft 运行时库的 MinGW。

关于c++ - 在旧式 main() 的参数中分解 WinMain 的 cmdLine,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2346328/

相关文章:

c++ - 为什么将函数名用作函数指针等同于将地址运算符应用于函数名?

c - ONVIF WS-Discover 1.0 - 客户端和事件处理程序

为事件驱动应用程序选择 IPC 解决方案

java - 如何让 Vista 的讲述人将我的 Swing 组件读回给我?

c++ - Boost.Asio async_send 问题

c++ - 无锁容器如何对并发分区和排序使用react?

c++ - 打包结构是可移植的吗?

C: mmap 失败:没有这样的设备

windows - 如何从WP7上的GPS获取经度和纬度?

c - Winsock连接测试