• [转帖]int main(int argc,char * argv[]) windows 下的使用


     

    [转帖]int main(int argc,char * argv[]) windows 下的使用

    通常对于初学C语言的同学来说,我们的main函数,都是没有形参的,那么这是怎么回事呢?

    根据C语言规定,main函数的参数只能有两个,习惯上这两个参数为argc和argv,格式如下:

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

    {

    //

    program

    //

    }

    解析:此时,main函数有两个形参。第一个argc为int整形。第二个为指针数组。也就是这个形参是个数组,这个数组的成员是指针。其指针指向char型。

    argc记录了用户在运行程序的命令行中输入的参数的个数。  

    arg[]指向的数组中至少有一个字符指针,即arg[0].他通常指向程序中的可执行文件的文件名。在有些版本的编译器中还包括程序
    文件所在的路径。

    这句话说的实在是太笼统了,让我们同学不明所以。

    是这样的。

    在调用一个可执行程序时,某些情况下需要向程序传递参数。如我们可以在控制台中键入notepad.exe,
    回车后将执行记事本程序。如果我们希望在打开notepad时同时打开一个文本文件,可以在notepad.exe  
    后面跟上文件的路径和名字,如notepad.exe   example.txt(文件在当前路径)。   

    那么程序中如何能得到这些输入参数呢?这个工作是编译器帮我们完成的,编译器将输入参数的信息
    放入main函数的参数列表中。   

    main函数的参数列表保存了输入参数的信息,第一个参数argc记录了输入参数的个数,   
    第二个参数是字符串数组的,字符串数组的每个单元是char*类型的,指向一个c风格字符串。   
    以notepad.exe   example.txt为例   
    argc是2,就是说argv数组中有两个有效单元   
    第一单元指向的字符串是"notepad.exe"   
    第二单元指向的字符串是"example.txt"   

    argv数组中的第一个单元指向的字符串总是可执行程序的名字,以后的单元指向的字符串依次是程序调用时的参数。   

    这个赋值过程是编译器完成的,我们只需要读出数据就可以了。
    -----------------------------------------------------------------------------

    一下是实例代码:C语言验证。

    #include <stdio.h>
    int main(int argc,char * argv[])
    {
     int i;
     printf("%d",argc);
     for (i=0;i<argc;i++)
     {
      printf("%s\n",argv[i]);
     }
     scanf("&i");

    }

    最后经过编译和连接会成为可执行程序:main.exe。

    我们可以通过开始-〉运行->输入cmd。出现一下窗口。

    通过cd命令进入main.exe所在目录。然后键入main chen hui jie回车即可观看结果。

    下面介绍另一种验证他得方法:

    通过强大的运行

     

    之所以可以在该文本处键入cmd。打开控制台,是因为在C:\WINDOWS\system32路径下,有

    同样的道理,我们将main.exe,复制粘贴到C:\WINDOWS\system32路径下,即可,方便的只需在运行里输入main [实参]……即可。

    如下图:

    结果如下:

    本帖引自http://hi.baidu.com/grandyang/item/907649c064cc152c47d5c00a

  • 相关阅读:
    js正则表达式验证【引用网址】
    Chart控件的使用实例
    C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
    C#进阶系列——WebApi 接口参数不再困惑:传参详解
    C#进阶系列——WebApi 路由机制剖析:你准备好了吗?
    【UiPath 中文教程】02
    八幅漫画理解使用JSON Web Token设计单点登录系统
    JSON Web Token(缩写 JWT) 目前最流行的跨域认证解决方案
    webservice 教程
    IBM MQ 使用指南
  • 原文地址:https://www.cnblogs.com/KingOfFreedom/p/2805088.html
Copyright © 2020-2023  润新知