zoukankan      html  css  js  c++  java
  • 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. ", 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]是编译后的可执行文件名

     

  • 相关阅读:
    UE4 径向模糊radiu blur
    UE4 小笔记
    UE4 Fade out Mesh
    测试一下运行代码
    javascript——限制范围的拖拽
    javascript——拖拽函数封装
    一个等高布局的小实例
    javascript——拖拽原理小实例
    javascript——自定义右键菜单
    javascript——事件默认行为
  • 原文地址:https://www.cnblogs.com/yymn/p/4479309.html
Copyright © 2011-2022 走看看