C++中带参数的main函数实现

标题在学习c++过程中看到了带参数的main函数,于是实现了一下该方法(用的是vs2012)

例如下面的例子
在这里插入图片描述
带参数的main函数只能在命令行中运行,也就是windows系统下的cmd操作

int argc, char *argv[ ] 用于运行时,把命令行参数传入主程序,其中第二个形参argv是一个c风格字符串数组(argv[0]存放的是可执行的文件的名字,就是你文件保存位置Debug下的.exe执行文件),其中第一个形参argc用于传递该数组中字符串的个数(包括可执行的文件名)
由于第二个参数是一个数组,该主函数也可以写成如下形式:
int main( int argc, char **argv[ ] ) {…}

接下来就是具体的实现

基于windows系统:
用cmd打开命令提示符,然后用 cd 文件名 依次进入到你保存该程序的目录下
在这里插入图片描述
例如我的示例文件就保存在e盘下,visual studio moni文件下,其中Project1是我的文件名,我们要进入该文件的Debug文件目录下,因为我们的可执行文件**.exe就保存在Debug中。
完成了上步之后就要实验了
在这里插入图片描述
输入Project1.exe proj -d -o data 其中Project1.exe是我们的可执行文件(不可省略),它和 proj -d -o data 是我们所要输入的main主函数中的第二个形参,由此我们可以得到,该执行文件中,argc的值为5,数组的下标从0开始,所以argv[0]=Project1.exe,argv[1]=proj,argv[2]=-d,argv[3]=-o,argv[4]=data
再反观我们的程序
在这里插入图片描述
argc>1 时执行循环(共循环四次),
++argv*表示的是先让指针argv加1,也就是指向字符串数组中的第二个元素(因为数组名就是指向该数组的第一个指针),*即解引用,将指针所指对象的值显示出来,然后换行(并且清除缓冲区),最后argc减1(防止死循环)。
因此我们得到的结果就是从argv[1]开始到argv[4]结束的四个字符串
在这里插入图片描述
该程序你也可以进行修改,改成for循环或改变循环条件或改成后置++,得到的结果都会不同
注意:在用命令提示符之前一定要记得先编译一下(按键F5)

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值