美文网首页
C++ 命令行传参给生成exe

C++ 命令行传参给生成exe

作者: e26f55e7ec23 | 来源:发表于2020-05-09 08:03 被阅读0次

    main()称之为主函数,是所有程序运行的入口。其余函数分为有参或无参两种,均由main()函数或其它一般函数调用,若调用的是有参函数,则参数在调用时传递。

    C/C++语言中的main函数,经常带有参数argc,argv,如下:

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

    从函数参数的形式上看,包含一个整型和一个指针数组。当一个C/C++的源程序经过编译、链接后,会生成扩展名为.EXE的可执行文件,测试生成的exe文件就是由系统来启动运行的。同时因为对main()函数既然不能由其它函数调用和传递参数,就只能由系统在启动运行时传递参数了。
    在操作系统环境下,一条完整的运行命令应包括两部分:命令与相应的参数。其格式为:命令 参数1 参数2....参数n…
    此格式也称为命令行。命令行中的命令就是可执行文件的文件名,其后所跟参数需用空格分隔,并为对命令的进一步补充,也即是传递给main()函数的参数。

    命令行与main()函数的参数存在如下的关系:

    设命令行为:program str1 str2 str3 str4 str5
    其中program为文件名,也就是一个由program.c经编译、链接后生成的可执行文件program.exe,其后各跟5个参数。对main()函数来说,它的参数argc记录了命令行中命令与参数的个数,共6个,指针数组的大小由参数argc的值决定,即为char*argv[6]。

    代码示例
    #include<iostream>
     
    using namespace std;
     
    int main(int argc,char **argv){
     
    cout << "argc:" << argc << endl;
    
    for(int i=0;i<argc;i++)
            cout<<"Argument "<<i<<" is "<<argv[i]<<endl;
        return 0;
    }
    
    
    图片.png

    相关文章

      网友评论

          本文标题:C++ 命令行传参给生成exe

          本文链接:https://www.haomeiwen.com/subject/bzhhnhtx.html