参考链接:
关于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的更多相关文章

  1. main(int argc, char **argv)参数解读

    main(int argc, char **argv)参数解读 编译生成了test.exe ,然后在控制台下相应的目录下输入:test  1  2  3 4 argc就是一个输入了多少个参数,包括te ...

  2. int main( int argc, char **argv)

    1.参数 (有时参数是void) argc是程序运行时参数个数 argv是存储参数的数组,可以用char* argv[],也可以用char **argv. 例如编译一个hello.c的程序 1 #in ...

  3. int main(int argc,char* argv[])详解

    argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数, 比如:       int   main(int   argc,   ...

  4. int main(int argc, char * argv[]) 里的异常处理

    #import <UIKit/UIKit.h> #import "AppDelegate.h" int main(int argc, char * argv[]) { ...

  5. main(int argc,char *argv[])

    #include<iostream.h> //ECHO.CPP void main(int argc,char *argv[]) { ;i<argc;i++)cout<< ...

  6. int main(int argc,char* argv[])参数详解

    argc是命令行总的参数个数 argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数 命令行后面跟的用户输入的参数,比如: int main(int argc, char* argv[] ...

  7. int main(int argc,char* argv[]) 简单理解

    (1)第一个int代表整个main函数的返回值,若函数正常执行完毕,返回0,异常返回则是-1 (2)int argc代表命令行参数的总个数,既然是个数,那就是整型的,即:int; (3)char* a ...

  8. main()函数的输入参数 main(int argc, char** argv)

    一般简单的C++程序,main函数的写法都是 int main() {... ; return 0;},但是,如果在运行程序时需要有参数输入,可以是使用将主函数写成int main(int argv, ...

  9. main(int argc , char *argv[])

    #include <unistd.h>#include <stdlib.h>#include <stdio.h> int main(int argc, char * ...

随机推荐

  1. eclipse中的javaEE插件

    1.在Eclipse中菜单help选项中选择install new software选项 2.在work with 栏中输入 Juno - http://download.eclipse.org/re ...

  2. 线程之Callable、Future 和FutureTask使用及源码分析

    一.Callable 我们知道启动线程有以下两种方式(jdk源码注释中官方定义只有两种启动方式,callable不算线程启动方式) 原文链接:http://www.studyshare.cn/blog ...

  3. vs2015 工具栏添加控件

    就是“添加”——“组件(N)”,然后把需要的代码写进去,但是工具栏里面却显示不出来. 结果是得重启系统才行,重启之后的确显示在工具栏显示出来了,但是拖到设计界面的时候还会出现“未能加载工具箱项xxx, ...

  4. redis+thinkphp5的注册、登陆、关注基础例子

    最近初步接触redis,结合thinkphp5与redis,写了一个用户注册的基础例子,用于学习. 这个例子是结合了兄弟连的redis视频,最后两节的内容写的:https://study.163.co ...

  5. UI测试和GUI测试的区别

    UI 测试 包含GUI测试和command line 测试 分享连接 https://www.ranorex.com/resources/testing-wiki/gui-testing/

  6. hadoop streaming 中跑python程序,自定义模块的导入

    今天在做代码重构,以前将所有python文件放到一个文件夹下,上传到hadoop上跑,没有问题:不过随着任务的复杂性增加,感觉这样甚是不合理,于是做了个重构,建了好几个包存放不同功能的python文件 ...

  7. 2019/4/17 Linux学习

    一.Linux的文件系统 其中/prov./srv./sys 文件为文件系统,技术不过硬不要去修改:二.关于Xshell.Xft1.服务器的端口可有65535个可设置,开的越多安全性越差:2.远程登录 ...

  8. Homework:奇偶性

    // 程序功能: // 要求用户从键盘输入一个整数,判断其是奇数还是偶数 #include <stdio.h> int main() { int x; printf("输入一个整 ...

  9. kvm动态添加硬盘

    1.创建硬盘. qemu-img create -f qcow2 /data/data_root/vm-images/xxxx.qcow2 20G 2.添加硬盘 方式1.动态添加: virsh att ...

  10. ES6学习笔记(函数)

    1.函数参数的默认值 ES6 允许为函数的参数设置默认值,即直接写在参数定义的后面. function log(x, y = 'World') { console.log(x, y); } log(' ...