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

 更新时间:2017年03月02日 08:34:36   投稿:lqh  
这篇文章主要介绍了C语言中 int main(int argc,char *argv[])的两个参数详解的相关资料,需要的朋友可以参考下

C语言中 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[]是一个字符数组,其大小是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记录了用户在运行程序的命令行中输入的参数的个数。 

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;
}

在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

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

相关文章

  • C++分步实现职工管理系统详解

    C++分步实现职工管理系统详解

    这篇文章主要为大家详细介绍了基于C++实现职工管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-10-10
  • C语言可变参数函数详解示例

    C语言可变参数函数详解示例

    一般我们编程的时候,函数中形式参数的数目通常是确定的,在调用时要依次给出与形式参数对应的实际参数。但在某些情况下我们希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。典型的可变参数函数的例子有printf()、scanf()等,下面我就开始讲解
    2013-11-11
  • 一文读懂C++中Protobuf

    一文读懂C++中Protobuf

    Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化、或者说序列化,本文详解了Protobuf的使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-05-05
  • C语言链表实现简单图书管理系统

    C语言链表实现简单图书管理系统

    这篇文章主要为大家详细介绍了C语言链表实现简单图书管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • C++实现顺序表的方法

    C++实现顺序表的方法

    本文给大家带来了C++实现顺序表的方法,代码简单易懂,附有注释,感兴趣的朋友一起看下吧
    2016-08-08
  • QT编写地图实现离线轮廓图的示例代码

    QT编写地图实现离线轮廓图的示例代码

    这篇文章主要介绍了在利用QT编写地图时常常需要用到的离线轮廓图,离线轮廓图使用起来比线轮廓图麻烦一点,需要自己绘制。感兴趣的小伙伴可以学习一下
    2021-12-12
  • 详解OpenMP的线程同步机制

    详解OpenMP的线程同步机制

    在本篇文章当中主要给大家介绍 OpenMP 当中线程的同步和互斥机制,在 OpenMP 当中主要有三种不同的线程之间的互斥方式。下面就来和大家来讨论一下OpenMP当中的互斥操作,需要的可以参考一下
    2023-01-01
  • 一些C语言中字符串的算法问题解决实例小结

    一些C语言中字符串的算法问题解决实例小结

    这篇文章主要介绍了一些C语言中字符串的算法问题解决实例小结,包括将字符串转化为int类型的数及旋转字符串等操作,需要的朋友可以参考下
    2016-03-03
  • 关于vector的常见用法详解

    关于vector的常见用法详解

    这篇文章主要介绍了关于vector的常见用法详解,vector本身可以作为数组使用,而且在一些元素个数不确定的场合可以很好地节省空间,本文给大家介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • C++用指针变量作为函数的参数接受数组的值的问题详细总结

    C++用指针变量作为函数的参数接受数组的值的问题详细总结

    以下是对C++中用指针变量作为函数的参数接受数组的值的问题进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助
    2013-10-10

最新评论