@VS2013带命令行参数的调试方法
在C++函数参数传递中,我们知道,main函数是演示C++程序如何向函数传递数组的好例子。一般来说,我们定义的大多main函数都只有空的形参列表:

int  main ()  { … }

然而,有时我们确实需要给main函数传递实参,一种常见的情况是用户通过设置一组选项来确定函数所要执行的操作。例如:假定main函数位于可执行文件prog (通常是指编译后产生的**.exe文件)之内,我们可以向程序传递下面的选项:

prog  -d  -o  ofile  data0

这些命令行选项通过两个(可选的)形参传递给main函数:

int  main ( int argc, char *argv[ ] )  { … }

第二个形参argv是一个数组,它的元素是指向C风格字符串的指针;第一个形参argc表示数组中字符串的数量。因为第二个形参是数组,所以main函数也可以定义成:

int  main ( int argc, char **argv)  { … }

其中argv指向char * 。

当实参传递给main函数之后,argv的第一个元素指向程序的名字或者一个空字符串,接下来的元素依次传递命令行提供的实参。最后一个指针之后的元素值保证为0。

以上面提供的命令行为例,argc应该等于5,argv应该包含如下的C风格字符串:

argv [0] = “prog” ;
argv [1] = “-d” ;
argv [2] = “-o” ;
argv [3] = “ofile” ;
argv [4] = “data0” ;

注意: 当使用argv中的实参时,一定要注意可选的实参从argv[1]开始;argv[0]保存程序的名字,而非用户输入。

那么,当程序编译完成之后,怎样调试运行指定的参数呢?

如下,在VS2013中有两种方法:

(1) 无需调试的情况:直接在系统中用DOS命令进入到*.exe所在的目录下
然后输入:

**.exe pra1 pra2

注意这种情况下,如果参数中有一个是待读取文件的filename,例如:123.txt,那么要默认把这个文件放在**.exe所在在目录下。这与第二种情况不同。

(2) 需要调试的情况:

点击菜单栏的 项目>>属性:

出现属性对话框之后,选择 配置属性>>调试>>命令参数:

在里面设置main的参数即可,多个参数用空格隔开。

在第二种情况下,如果参数中有一个是待读取文件的filename,例如:123.txt,那么要默认把这个文件放在项目所在的文件夹中。可以通过右键项目名称>>在文件资源管理中打开文件夹,放在打开后的目录下即可。具体如下图:

然后,运行即可。
原文:https://blog.csdn.net/qq76536257/article/details/50590272

vs2013中带命令行参数的调试方法相关推荐

  1. 在Visual Studio中使用命令行参数进行调试

    我正在Visual Studio中开发一个C ++命令行应用程序,需要使用命令行参数进行调试. 目前我只使用我需要的参数(如此program.exe -file.txt )运行生成的EXE文件,但这样 ...

  2. 在C#中解析命令行参数的最佳方法? [关闭]

    构建带有参数的控制台应用程序时,可以使用传递给Main(string[] args) . 过去,我只是索引/循环该数组,并做了一些正则表达式来提取值. 但是,当命令变得更复杂时,解析可能会变得很丑陋. ...

  3. c语音学习进阶-C语言带命令行参数的程序设计

    C语言带命令行参数的程序设计 (1)深入理解并学习带命令行参数的程序设计方法,使用c 语言完成带命令行参数的科学计算程序,能从给定的任意文件名的文件当中输入数据,并能向给定的任意文件名的输出文件当中输 ...

  4. 如何在Java中解析命令行参数?

    在Java中解析命令行参数的好方法是什么? #1楼 我不建议使用Apache Common CLI库,因为它是非线程安全的. 它使用带有静态变量和方法的有状态类来进行内部工作(例如OptionBuil ...

  5. python编写请求参数带文件_转载:如何编写一个带命令行参数的Python文件

    看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命 ...

  6. c语言学习进阶-C语言带命令行参数的文件数据批量计算

    C语言带命令行参数的文件数据批量计算 (1)假设输入文件中的数据为多行整数,把数据文件命名为"InputData.txt",也可以命名为任意的文件名,尝试设计一个c 语言程序, 主 ...

  7. java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

  8. java 接收命令行参数_java中的命令行参数_Java中的命令行参数

    java中的命令行参数 Command-line arguments in Java are used to pass arguments to the main program. If you lo ...

  9. [转载] c语言中检查命令行参数_C中的命令行参数

    参考链接: Java中的命令行参数 c语言中检查命令行参数 Command line argument is a parameter supplied to the program when it i ...

最新文章

  1. 【12c新特性】安装12c Standalone Grid Infrastructure
  2. 信息服务器怎么填写,如何设定服务器信息
  3. kylin如何支持flink_日均万亿条数据如何处理?爱奇艺实时计算平台这样做
  4. bootstrap 垂直居中 布局_CSS3 flex 布局必须要掌握的知识点
  5. python如何进行web开发_如何用Python做Web开发
  6. 多个客户端如何同时连接到服务器上的一个端口(例如80)? [重复]
  7. 统计学:从数据到结论(吴喜之)-- 读书笔记
  8. 聚类算法的原理是什么?
  9. Improved Zero-shot Neural Machine Translation via Ignoring Spurious Correlations
  10. win7旗舰版怎么降级到专业版|win7旗舰版改成专业版的方法
  11. 一道简单的百度笔试题
  12. 通信中的MGF(矩生成函数)
  13. 2020年鼠年正月二十一 雪中送炭难
  14. Typora 如何依次打小黑点,空心圆,实心框后恢复空心圆、小黑点
  15. 表情包,头像,壁纸小程序达人入驻教程
  16. XX市智慧环卫管理系统解决方案V1.0
  17. 行业洞察丨小微企业信息化管理痛点与解决方案
  18. ghost 服务器系统,涨姿势:Ghost系统、纯净版系统、原版系统各是什么?
  19. 逐步回归matlab函数,Matlab逐步回归
  20. 4399游戏测试实习生面试

热门文章

  1. 联邦学习实战-2-用FATE从零实现横向逻辑回归
  2. 传输层之UDP头部解析、UDP特点TCP头部解析、TCP特点
  3. 小程序踩坑日志(一)
  4. php 搜索字符串ctrl f_js搜索关键字(Ctrl + F)
  5. classify线性判别分析函数
  6. PNAS:快速脑电波振荡识别并定位癫痫患者的大脑
  7. [慈溪2012]书架(bookshelf)
  8. C语言学习基础(day06)(达内)
  9. React Native 音频录制例子来解惑入门,真的已经讲烂了
  10. 百万年薪背后 是人工智能领域泛起的人才泡沫 2017年07月04日 06:30 PingWest 微博 微信 空间 分享 添加喜爱 //d1.sina.com.cn/201706/26/14587