bat 命令返回结果_C++:main处理命令行选项/main函数的参数

main函数参数

通常,定义main函数形参列表都是空的,遇到有参数的main函数到不知道怎么理解了。

给main函数传递实参,常见的情况是传递命令参数。

int 

第二个形参argv是一个数组,它的元素是指向C风格字符串的指针;第二个参数argc是数组argv中字符串的数量。

因为第二个参数是数组,所以main函数也可以定义为:

int 

其中argv指向char*。

当实参传给main函数之后,argv的第一个元素指向程序的名字或者一个空字符串。

下面我分别从Visual Studio 2015的命令参数和Windows的cmd控制台进行mian函数的实参传递。

具体测试代码如下:

#include 

Visual Studio 2015的命令参数

8bda29dffaf5c6bab319e5e937dc24b0.png

64bd3b2f9b1de20128df9e0ecee8748f.png

命令行参数是"你 我 他",以空格为分割符。输出结果如上图所示,argc等于3,argv的第一个元素指向程序的名字。

Windows的cmd控制台

1、cmd执行.exe可执行文件

在此程序的可执行文件目录下打开cmd:

目录:

59ac67e2c9d6ac7d56a22140cf0fcdc2.png
1、按住Shift键,鼠标右键快捷方式,先打开Powershell窗口。
2、输入 start cmd 回车
3、这样就可以打开cmd窗口了,并且cmd的工作目录就是当前的目录。

68f0d36261f65946ebff1332e719a501.png

命令行语句:

Projectplay

fe277b3c052e3b1a92d1d8d443491a63.png
Projectplay 

634743e3645d24bea18379bb34dad8cd.png

2、写批量运行脚本.bat文件运行可执行文件

批量运行文件,文件名为:main测试.bat

1abc46b632c63dde53c625e8bc11ff9c.png

文件内容为:

bd994ed8de13fc9ba2ee266ed9fd89b1.png

在cmd运行.bat文件

2d8042d6aa5fd4943ca52b0be9d28569.png

或者直接双击.bat文件运行

3ed8af3cc62bde9e6904969fd2cf45ed.png

好像识别汉字出现了问题,这里只是测试,能达到示意main函数的传参即可,我就不深究原因了。

如果把汉字改为数字和字母,则运行效果如预期:

7902ccbc3305601558cd99239cfef945.png

5271b380883e74ee0551b75e19868cee.png

最后:不用指针显示,用数组显示:

#include 

d37025688543edb8e7a5b70dc3a34d88.png
数组输出

注意:

因为用指针,指针是随着使用而发生变动的,所以用的时候要十分注意哦!

0be032dc3de098bdea24a0d4154bf7df.png

指针变动后,在用数组的格式输出时,相当于数组名已经发生变化了,所以argv[]就一直输出“他”,而没有像上图的数组调用的依次输出“你 我 他”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值