int main(int argc, char * argv[])
{
……
}
参数argc就代表启动程序时,命令行参数的个数。C/C++语言规定,可执行程序程序本身的文件名,也算一个命令行参数,因此,argc的值至少是1。
参数argv是一个数组,其中的每个元素都是一个char* 类型的指针,该指针指向一个字符串,这个字符串里就存放着命令行参数。
argv[0]指向的字符串就是第一个命令行参数,即可执行程序的文件名
argv[1]指向第二个命令行参数
argv[2]指向第三个命令行参数……。
#include <stdio.h>
int main(int argc, char * argv[])
{
for(int i = 0;i < argc; i ++ )
printf( "%s\n",argv[i]);
while(argc-->=1)
{
*(++argv);//这样就不输出文件名啦
}
return 0;
}
将上面的程序编译成sample.exe,然后在控制台窗口输入:
sample para1 para2 s.txt 5 4
输出结果就是:
2.18(垃圾)//对应文件名sample
para1
para2
s.txt
5
4
注意:main函数不可以被其它函数调用,因此不可能从程序内部获得实参,只能通过操作系统的命令行,argc自动赋初值
要想将空格也作为参数,需加上双引号