C++:main函数 int argc和char* argv[]
1、main函数具有3种形参形式:int main(int argc, char* argv[]);int main(int argc, char** argv);int main(int argc,char* argv[], char** env);
![C++:main函数 int argc和char* argv[]](https://exp-picture.cdn.bcebos.com/de9bfa3b3b860221bac13ee2d8bbf82065fb722f.jpg)
2、意义:①argc和argv参数应用在命令行编译程序中;②int argc:int型,argument count-传入main函数的参数个数;VS中默认为1;③char** agrv:字符串数组,argument vector-存放指向字符串参数的指针数组;每一个元素指向一个函数参数;共argc个元素;argv[0]为编译后产生的exe路径…\xxx.exe;argv[1]为程序执行的第一个字符串参数;argv[2]为第二个字符串参数;argv[3]为第三个字符串参数;argv[argc]为字符串的null空字符;④char**env:字符串数组。env[]的每一个元素都包含ENVVAR=value形式的字符串,其中ENVVAR为环境变量,value为其对应的值。
![C++:main函数 int argc和char* argv[]](https://exp-picture.cdn.bcebos.com/05e24be983aee8d758bd4e5b6b781431deb6662f.jpg)
3、用法:argc和argv参数应用在命令行编译程序中;#include <stdio.h>int main(int argc, char ** argv){ int i; for (i=0; i < argc; i++) printf("Argument %d is %s.\n", i, argv[i]); return 0;}
![C++:main函数 int argc和char* argv[]](https://exp-picture.cdn.bcebos.com/e177fc9147e833e029e590b730ea3e863148592f.jpg)
4、调试经常会遇到两个问题:①程序报错②命令窗口一闪而过;调试步骤:①编译后,找到xxx.exe所在的位置,路径;②打开命令窗口:在exe文件夹中shift+“右击”,选择“在此处打开命令窗口”,按TAB键切换文件,选择exe文件。或经其他方法打开命令窗口;③在命令行输入argv[0],argv[1],argv[2],…如:d1.jpg, d2.jpg, d3.jpg;
![C++:main函数 int argc和char* argv[]](https://exp-picture.cdn.bcebos.com/49701aebf6a75f0f99bcd95a97324b18502c4c2f.jpg)
![C++:main函数 int argc和char* argv[]](https://exp-picture.cdn.bcebos.com/27725684cde34b2c7079d6cb0d0e7c75e4f4432f.jpg)