【C++】int main(int argc,char *argv[])的两个参数详解

C语言中 int main(int argc,char *argv[])的两个参数详解

int main(int argc,char *argv[])的两个参数详解:
  • argc是命令行总的参数个数;
  • argv[]是argc个参数,其中第0个参数是程序的全名;后面的参数是命令行后面跟的用户输入的参数;
int  main(int  argc,  char*  argv[])  { 
  int  i; 
  for (i  =  0;  i<argc;  i++) 
  	cout<<argv[i]<<endl; 
  cin>>i; 
  return  0; 
} 

执行时敲入:

F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE  aaaa  bbb  ccc  ddd 

输出如下:

 F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE 
 aaaa 
 bbb 
 ccc 
 ddd 
char *argv[]

char *argv[]是一个字符数组,其大小是int argc,主要用于命令行参数;
argv[]参数,数组里每个元素代表一个参数;
比如输入:

 test  a.c  b.c  t.c 
 
 # 那么 
 
 argc  =  4 
 
 argv[0]  =  "test" 
 argv[1]  =  "a.c" 
 argv[2]  =  "b.c" 
 argv[3]  =  "t.c"
argc

argc记录了用户在运行程序的命令行中输入的参数的个数;
arg[]指向的数组中至少有一个字符指针,即arg[0],它通常指向程序中的可执行文件的文件名。在有些版本的编译器中还包括程序文件所在的路径。

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;
}
int main(int argc,char *argv)与int main(int argc,char **argv)区别?
  • int main(int argc,char *argv):

    • argc: 整数,用来统计你运行程序时送给的命令行参数的个数;
    • *argv: 字符串,用来存放指向你的字符串参数的,每一个元素指向一个参数;
      • argv[0] 指向程序运行的全路径名;
      • argv[1] 指向在DOS命令行中执行程序名后的第一个字符串;
      • argv[2] 指向执行程序名后的第二个字符串;
  • int main(int argc,char **argv) 相当于 int main(int argc,char *argv[ ] ):

    • argc: 整数,用来统计你运行程序时送给的命令行参数的个数;
    • *argv: 字符串,用来存放指向你的字符串参数的,每一个元素指向一个参数;
      • argv[1] 指向在DOS命令行中执行程序名后的第一个字符串的指针;
      • argv[2] 指向执行程序名后的第二个字符串的指针;

在int main(int argc,char **argv)中 argv[1]是一个指针,存的内容是一个地址;
而在int main(int argc,char *argv)中argv[1]是一个数组元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值