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自动赋初值

要想将空格也作为参数,需加上双引号


作者:​​火星十一郎​

本文版权归作者火星十一郎所有,欢迎转载和商用,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.