一、命令行参数
在介绍命令行参数前,我想问大家一个问题,在以前写C/C++时,main 函数可不可以带参数?
答案是可以带的,int main(int argc, char* argv[]){},但平时写代码时也证明了,main 函数的参数可带可不带。我们要讨论的内容是带 int argc, char* argv[] 有什么意义?
我们不妨写一个C语言代码,将argv中的内容打印出来看看。
使用gcc编译,形成可执行程序progress
在运行可执行程序progress后,我们发现main函数的参数 int argc, char* argv[] 是用来存储命令行字符串和其下标的,在存储中,以空格作为分隔符将命令行字符串拆散成一个个字串,来存入argv这个字符串数组,数组中下标为0的(第一个)元素是程序的路径+名称,后面的元素是和该进程匹配的选项。
那它为什么要这么做?
我们借用下面