在main()函数中允许带2个参数,一个为整型argc,另一个是指向字符型的指针数组argv[]。格式:
int main(int argc,char *argv[])
其中整型argc表示命令行中字符串的个数,指针数组argv[]指向命令行中的各个字符串。这两个参数可以用任何合法的标识符命名,但是习惯采用argc和argv。带参数的main()函数一般能在调用其时追加参数,如DOS命令一样。
下面程序运行后只输出该可执行文件的路径,即argv[0]中存储的字符串。
#include<iostream>
using namespace std;
int main(int argc, char* argv[])
{int i;cout << "当前文件的路径:" << argv[0] << endl;for (i = 1; i < argc; i++){cout << i << "," << argv[i] << endl;}system("pause");return 0;
}
带参数的main()函数是要像DOS命令一样能够根据参数执行。所以在DOS环境下执行该程序。先切换到可执行文件的路径,然后输入testmian adc def
可以看到,用户输入了2个字符串,因此argc的值为2,在字符串数组argv[]中将这两个字符串分别放入argv[1]和argv[2]中,argv[0]存储的是该程序的当前路径。
在DOS下一条完整的运行命令包含2部分:命令与相应的参数。格式为:
命令 参数1 参数2 ...
这种格式也叫命令行,命令行中的命令就是可执行文件的文件名,它后面的参数要用空格分隔,是对命令的进一步补充,即是传递给main()函数的参数。