我想将 WinMain
的 cmdLine
参数转换为 argc
和 argv
以便我可以使用该参数我为控制台应用程序编写的解析函数。
除了我也想支持“引号”之外,这将是微不足道的。例如:
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/