C++中argc和argv
C++中argc和argv
C/C++中关于main()函数中argc 和argv[]的说明
main(int argc,char *argv[]);
argc代表命令行输入参数的个数
argv存储了所有的命令行参数
如:源代码如下
#include <stdio.h>
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;
}
编译后产生hello.exe文件
在命令行下找到hello.exe的文件夹
输入如下命令:hello.exe a b c
则输出
Argument 0 is hello.exe. Argument 1 is a. Argument 2 is b. Argument 3 is c.
C++:main (int argc,char **argv)
argc表示参数个数, char**argv是存储参数的指针数组。
如果你什么参数都没加,argc为1, argv[0] ="路径/myc.exe"
加了一个参数,argc为2 其实就是表示argv指针数组的大小。
argv[0] 为 “路径/myc.exe”;
argv[1] 为 第一个参数 以此类推。
C++ main函数 argc,argv传递参数的含义
main(int argc,char **argv)
argv为指针的指针
argc为整数
char **argv or: char *argv[ ] or: char argv[ ][ ]
main()括号内是固定的写法。
下面给出一个例子来理解这两个参数的用法:
假设程序的名称为prog,
1.当只输入prog,则由操作系统传来的参数为:
argc=1,表示只有一程序名称。
argc只有一个元素,argv[0]指向输入的程序路径及名称:./prog
2.当输入prog para_1,有一个参数,则由操作系统传来的参数为:
argc=2,表示除了程序名外还有一个参数。
argv[0]指向输入的程序路径及名称。
argv[1]指向参数para_1字符串。
3.当输入prog para_1 para_2 有2个参数,则由操作系统传来的参数为:
argc=3,表示除了程序名外还有2个参数。
argv[0]指向输入的程序路径及名称。
argv[1]指向参数para_1字符串。
argv[2]指向参数para_2字符串。
void main( int argc, char *argv[ ] )
char *argv[] : argv是一个指针数组,他的元素个数是argc,存放的是指向每一个参数的指针,他的第一个元素即argv[0]为编译生成的可执行文件名(包括路径eg:"F:/VC/Ex1/Debug/Ex1.exe"),从二个元素(argv[1])开始,是每一个参数.
int argc 表示argv的大小,是实际参数个数+1,其中+1是因为argv[0]是编译后的可执行文件名
C++中argc和argv的更多相关文章
- main函数中argc和argv含义
在main函数中经常可以看到int main(int argc, char ** argv)的函数头,这里的形参int argc, char ** argv究竟是啥含义呢? &1 int ar ...
- int main(int argc, char *argv[])解释
int main(int argc, char *argv[]) 详解: #include <stdio.h> int main(int argc, char *argv[]) { int ...
- 如何理解主函数main中变量(int argc,char *argv[])的含义
每一个C语言的初学者,都会注意到主函数main()里的两个参数,但是初学者一般不会去关注这两个参数的具体作用,下面我们就来介绍这两个参数的具体作用. main()函数是控制台程序的入口,int mai ...
- c/c++中int main(int argc,char *argv[])的具体含义
int main(int argc,char * argv[ ]) argv为指针的指针 argc为整数 char **argv or: char *argv[ ] or: char argv[ ][ ...
- opencv中 int main(int argc,char* argv[])详解
opencv中 int main(int argc,char* argv[])详解 argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 ...
- 利用 gdb 探究main(int argc, char *argv[]){} 中的char *argv[]
在 Linux 系统中编写小程序 代码如下 编译并采用gdb调试 在调试之前设置三个参数 a bb ccc 输入 start 执行代码到 return 0; 从这里可以看到 argc = ...
- int main(int argc, char *argv[])中的argc和argv
argc 是 argument count的缩写,表示传入main函数的参数个数: argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0 ...
- (转)C++ main函数中参数argc和argv含义及用法
原博地址:https://blog.csdn.net/dcrmg/article/details/51987413 argc 是 argument count的缩写,表示传入main函数的参数个数: ...
- C++中 int main(int argc, char **argv) 命令行传递参数
C++中,比较常见的是不带参数的主函数int main(),如果使用命令行执行程序,主函数也可以接收预先输入的参数,形式如下. int main(int argc,char **argv) argc: ...
随机推荐
- jacob下载问题, Office word 此文件正由另一应用程序或用户使用的解决方法
http://jingyan.baidu.com/article/75ab0bcbd6682fd6864db2db.html
- Oracle的if else if
前段时间写Oracle存储过程就遇到问题.原来写成这样if 1=2 then null;elseif 1=3 then nullend if;在PL/SQL编辑环境下elseif没有变色,说明不是 ...
- Android开发探秘之一:创建可以点击的Button
感觉到自己有必要学习下手机开发方面的知识,不论是为了以后的工作需求还是目前的公司项目. 当然,任何新东西的开始,必然伴随着第一个HelloWorld,Android学习也不例外.既然才开始,我就不做过 ...
- Anaroid WebView 的属性汇总
1. 打开网页时不调用系统浏览器, 而是在本WebView中显示: mWebView.setWebViewClient(new WebViewClient(){ @Override public bo ...
- [Android] 安卓模拟器临时文件相关问题
今天生产环境有台机器的硬盘满了,排查发现我的模块在/tmp/android-username目录下留了一堆形如“emulator-1tpH5l”的文件,占用了很大的空间. 这个模块会反复启停好几个安卓 ...
- springmvc学习笔记(一)之简介
一.简介 SpringMVC 是一个MVC框架,是基于Model-View-Controller模式实现的.类似于Struts2等mvc框架使数据-业务-展现很好的隔离开. 每当用户在web浏览器点击 ...
- app整体搭建环境:tabBar切换不同控制器的封装(自定义导航+自定义uiviewcontroler+系统自带tabbar+自定义tabbarController)
首先,一个app的搭建环境非常重要.既要实现基本功能,又要考虑后期优化的性能. 现在很多应用不仅仅是系统自带的控制器,由于需求复杂,基本上需要自定义多控制器来管理. 新建一个BasicNavigati ...
- try-catch和throw,throws的区别和联系
转载:http://blog.sina.com.cn/s/blog_62148d1e0100hkqc.html 区别一:throw 是语句抛出一个异常:throws 是方法抛出一个异常: throw语 ...
- BASE64Decoder 编码(sun.jar)
Base64 是网络上最常见的用于传输8Bit 字节代码的编码方式之一,大家可以查看RFC2045 -RFC2049 ,上面有MIME 的详细规范. Base64 要求把每三个8Bit 的字节转换为
- unity3d 扩展NGUI Tweener —— TweenFillAmount
好久没写博客了,上一篇是在今年上班之前写的 从年初到现在一篇没写过,每天都在加班,实在太忙了 上班半年多了,学到不少东西 今天分享一下刚写的小功能 TweenFillAmount 用过NGUI Twn ...