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

浏览:36日期:2023-04-27

问题描述

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

问题解答

回答1:

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

回答2:

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

xxx.exe -param1 param2 /param3

相关文章: