博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
VS2013中带命令行参数的调试方法---C++
阅读量:5089 次
发布时间:2019-06-13

本文共 1923 字,大约阅读时间需要 6 分钟。

今天先记录一下(也是传说中大神喜欢装逼的comment line)c++中向主函数int main(int argc,char** argv )传递4中方法,欢迎添加新方法, 然后可以参考别人写的很好的一篇博文: https://blog.csdn.net/qq76536257/article/details/50590272

 

1. 方法:以opencv 中的 cv::imread(argv[1], -1)为例。

           a.进入属性properties--> 布局属性Configuration properties--->调试debugging--->命令行参数 command Arguments---> 输入自己的参数,这里以图片RGB.bmp为例, 然后就会输出结果。

           b.进入到对应的编译的exe文件----->创建批处理文件(记事本改格式为(.bat) 就行)-----> 编辑batch文件: (可执行文件).exe RGB.bmp (即格式是: 对应exe+空格+参数+空格+参数+) -----> 退出, 点击运行完成。

           c. 进入dos命令下---->进入对应的exe文件目录(需要你有简单的dos命令基础,不行百度) -----> 编辑:对应exe+空格+RGB.bmp

          d. 再简单点直接在c++中命令 argv[1] = "RGB.bmp",    哈哈哈!

2.参考别人的博文,很不错详细:

VS2013带命令行参数的调试方法

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

int  main ()  { … }1

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

 

prog  -d  -o  ofile  data01

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

 

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

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

 

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

其中argv指向char * 。

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

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

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

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

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

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

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

**.exe pra1 pra21

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

(2) 需要调试的情况:

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

 

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

 

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

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

 

然后,运行即可。 --------------------- 作者:Porsche_911T 来源:CSDN 原文:https://blog.csdn.net/qq76536257/article/details/50590272 版权声明:本文为博主原创文章,转载请附上博文链接!

 

 

 

 

 

       

          

 

 

          

转载于:https://www.cnblogs.com/MCSFX/p/10756399.html

你可能感兴趣的文章
BootStrap---2.表格和按钮
查看>>
Linear Algebra lecture 2 note
查看>>
CRC计算模型
查看>>
Ajax之404,200等查询
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>
OO设计的接口分隔原则
查看>>
数据库连接字符串大全 (转载)
查看>>
java类加载和对象初始化
查看>>
对于负载均衡的理解
查看>>
django简介
查看>>
window.event在IE和Firefox的异同
查看>>
常见的js算法面试题收集,es6实现
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Windows10 下Apache服务器搭建
查看>>
HDU 5458 Stability
查看>>
左手坐标系和右手坐标系
查看>>
solr后台操作Documents之增删改查
查看>>
http://yusi123.com/
查看>>
文件文本的操作
查看>>