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

时间:2022-04-11 08:08:47

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

argc是命令行总的参数个数;

argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数。命令行后面跟的用户输入的参数。

?
1
2
3
4
5
6
7
8
int  main(int  argc,  char*  argv[])
  {
  int  i;
  for  (i  =  0;  i<argc;  i++)
  cout<<argv[i]<<endl;
  cin>>i;
  return  0;
  }

   执行时敲入    

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

   输出如下:    

?
1
2
3
4
5
F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE
 aaaa
 bbb
 ccc
 ddd

--------------------------------------------------------------------

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

比如你输入  

?
1
2
3
4
5
6
7
8
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记录了用户在运行程序的命令行中输入的参数的个数。 

arg[]指向的数组中至少有一个字符指针,即arg[0].他通常指向程序中的可执行文件的文件名。在有些版本的编译器中还包括程序
文件所在的路径。

?
1
2
3
4
5
6
7
8
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;
}

在OpenCV的编程中经常使用上述main函数的使用方式,

其中argc代表:输入的参数个数   

其中argv代表:此可执行文件的存储路径、程序变量 

  例如:你在D盘下建立了一个工程,并命名为cvshow,同时在此工程下建立了一个名为cvshow的cpp源文件,当执行程序是将在Debug文件夹下生成show.exe可执行文件,当然Debug文件位于工程cvshow下,所以可执行文件show.exe的存储路径为

D:\cvshow\Debug\show.exe,即argv[0]的值

  argv[1]、argv[2]、argv[3]一次代表输入变量,变量以空格相隔开

 实例:

    加入输入变量为:c:\baboon.jpg 

    那么,argc==1  argv[0]==D:\cvshow\Debug\show.exe   argv[1]==c:\baboon.jpg

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!