int main(int argc, char** argv) 以及CommandLineParser
参考链接:
关于int main(int argc, char** argv)
http://blog.csdn.net/liuhuiyi/article/details/8239303
http://blog.csdn.net/guo_xiaoxi/article/details/57074891
关于CommandLineParser :
http://blog.csdn.net/jkhere/article/details/8674019
int main(int argc, char** argv) 中有两个参数,一般情况下我们用不到。
其中 *argv[]是个指针数组,第一个参数有默认值,是运行程序的路径以及文件名,后面的参数为输入在命令行上字符串(在doc模式下)。
当然,如果是用vs编译程序,可以在属性-参数-命令参数中输入(注意你所输入的是字符串,字符串之间用空格隔开)。
argc 表示 argv[] 指针数组的大小,若没有任何输入,默认为1,即argv[]中第一个默认参数。
利用这一种方式可以向main函数中传递参数。比如,如果你想在每次运行程序中打开某一个图片,就可以把图片名 作为argv的参数(比如作为第一个参数),在main函数中调用argv[1]即可。
当然你也可以直接在程序中,把图片名赋给某个变量直接调用。但是这里提供了这样一种方式。貌似是在Unix系统中会比较方便,在windows下用的比较少。。。好像是这样。
这种方式有一个问题,就是每次运行程序时,都要设置,或在doc中输入你想要的参数。所以,CommandLineParser优势就可以体现出来了。。。其实没太懂为什么非要用它,直接定义一个字符串变量不就可以了吗。。。。
这个问题先忽略。。。。
CommandLineParser 。。。。好像还是不太懂,只知道用它可以得到 你想要的文件名 ,方便以后的调用。。。
int main(int argc, char** argv) 以及CommandLineParser的更多相关文章
- main(int argc, char **argv)参数解读
main(int argc, char **argv)参数解读 编译生成了test.exe ,然后在控制台下相应的目录下输入:test 1 2 3 4 argc就是一个输入了多少个参数,包括te ...
- int main( int argc, char **argv)
1.参数 (有时参数是void) argc是程序运行时参数个数 argv是存储参数的数组,可以用char* argv[],也可以用char **argv. 例如编译一个hello.c的程序 1 #in ...
- int main(int argc,char* argv[])详解
argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数, 比如: int main(int argc, ...
- int main(int argc, char * argv[]) 里的异常处理
#import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { ...
- main(int argc,char *argv[])
#include<iostream.h> //ECHO.CPP void main(int argc,char *argv[]) { ;i<argc;i++)cout<< ...
- int main(int argc,char* argv[])参数详解
argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[] ...
- int main(int argc,char* argv[]) 简单理解
(1)第一个int代表整个main函数的返回值,若函数正常执行完毕,返回0,异常返回则是-1 (2)int argc代表命令行参数的总个数,既然是个数,那就是整型的,即:int; (3)char* a ...
- main()函数的输入参数 main(int argc, char** argv)
一般简单的C++程序,main函数的写法都是 int main() {... ; return 0;},但是,如果在运行程序时需要有参数输入,可以是使用将主函数写成int main(int argv, ...
- main(int argc , char *argv[])
#include <unistd.h>#include <stdlib.h>#include <stdio.h> int main(int argc, char * ...
随机推荐
- 关于SQLserver2008索引超出了数据
由于公司只支持了2008.不支持2012的数据库.所以安装的2008.但在对表进行操作的时候出现如下异常: 这个问题是由于本地装的2008,但IT那边的测试机上面确装的2012.所以2008连接了20 ...
- Django10-Form组件
一.Form介绍 我们之前在HTML页面中利用form表单向后端提交数据时,都会写一些获取用户输入的标签并且用form标签把它们包起来.与此同时我们在很多场景下都需要对用户的输入做校验,比如校验用户是 ...
- [Tools] Wireshark Primer Tutorials
介绍就不说了,安装也没必要讲,关于如何使用,网上的辣鸡文过多,视频又太冗余. 我推荐看下面有条理的入门教程. 界面说明:http://openmaniak.com/cn/wireshark_use.p ...
- Spring_Four -- 团队项目设计完善&编码测试
团队项目设计完善&编码测试 1.文档<软件设计方案说明书>github地址:https://github.com/gzyt/SRS 2.项目集成开发环境 数据库:Mysql 5.0 ...
- 四百万条数据创建简单索引报错ora01652
经过几次度娘之后终于找到了解决方案,因为当时创建的indextest表是属于系统表空间,而系统表空间默认好像有大小限制,所以需要修改系统表空间的大小,至于修改表空间的语句可以随时度娘. 经过修改,创建 ...
- vue---checkbox,获取选中的值
html: <input class="weui-check" type="checkbox" name="checkbox1" va ...
- 让history显示时间
如何让history显示时间 linux和unix上都提供了history命令,可以查询以前执行的命令历史记录 但是,这个记录并不包含时间项目 因此只能看到命令,但是不知道什么时间执行的 如何让his ...
- IDEA添加项目依赖(将Tomcat中的servlet-api.jar添加到项目中去)
File -> project structure -> Modules -> 右侧Dependencies -> 然后点加号把配置好的Tomcat的依赖包加进去
- mysql 创建备份表
mysql 中对已有表进行备份用到的语句 CREATE TABLE table_name_1 SELECT * FROM table_name_2; 这个语句是创建表1并且复制表2的结构和数据到表1 ...
- systemverilog soft constraint
1.class my_item; rand bit constrainted_random; rand bit usually_one; endclass class my_generator; my ...