首页 > VS调试C++工程时__wargv的值和双击运行exe程序时的值不一样?

VS调试C++工程时__wargv的值和双击运行exe程序时的值不一样?

经过查阅资料,C++中的__wargv值是命令行参数。
VS中设置命令行参数的方法是,项目——属性——配置属性——调试——命令参数,设置命令参数就可以传入。
VS调试时,__wargv值为设置的参数。而双击运行该程序的exe文件时,__wargv值却只是exe文件的路径,并没有我在VS项目中设置的值。
请问,双击运行exe是不会传入命令行参数吗,VS生成exe文件的同时不会生成命令行参数设置的相关文件?
经搜索引擎搜索,没有查找到双击运行exe和VS调试时命令行参数的区别。各位大神如有相关资料,望告知。跪谢。


双击运行的时候vs并没有处于调试状态下,当然不会有参数了。
正确的做法是创建一个快捷方式,然后target里写上

xxx.exe -param1 param2 /param3

你的exe程序运行时若需要传入参数的话,那就不能双击运行,而应该在cmd控制台里指定参数。
比如你的程序名为test.exe,需传入参数"-c",那么你在cmd里进入test.exe所在路径下,输入命令
test.exe -c回车,就可以带参数运行你的程序了

【热门文章】
【热门文章】