美文网首页
主函数main中变量(int argc,char *argv[

主函数main中变量(int argc,char *argv[

作者: 快乐小哥 | 来源:发表于2017-02-28 17:22 被阅读209次

    摘:http://baike.baidu.com/link?url=WpTsuGvzcTdiOap1HAgRGyPkt_jrBXuh2oaTrMumkeGlfBli6Ko3UKVLX6N3BBzdz-iQqbU9gehbzeQ7Z0dh299BVDO6MjW8cChSCgRFeF3

    经典例子
    对于理解argv[ ]函数很管用:

    #include <stdio.h>//#包含<stdio.h>
     
    int main(int argc,char* argv[])    //整数类型主函数(整数类型统计参数个数,字符类型指针数组指向字符串参数)
    {
        printf("%d\n",argc);           //格式化输出
        while(argc)                    //当(统计参数个数)
        printf("%s\n",argv[--argc]);   //格式化输出
        return 0;                      //返回0;正常退出
    }
    

    假设将其编译为 test.exe
    在命令行下
    /> test.exe test hello
    得到的输出结果为
    3
    hello
    test
    test.exe
    main(int argc, char* argv[ ]),其中argc是指变量的个数,本例中即指test和hello这两个变量和程序运行的全路径名或程序的名字,argc即为3。
    argv是一个char *的数组,其中存放指向参数变量的指针,此处argv[0]指向test.exe的全路径名或test.exe,argv[1]指向test,argv[2]指向hello。
    再例:

    #include<stdio.h>
    int main(int argc,char *argv[])
    {
        if(argc==1||argc>2)
        printf("请输入想要编辑的文件名如:fillname");
        if(argc==2)
        printf("编辑%s\n",argv[1]);
        return 0;
    }
    

    编译该程序:gcc -o edit edit.c
    运行:〉edit
    结果:请输入想要编辑的文件名如:fillname
    运行:〉edit f1.txt
    结果:编辑 f1.txt
    执行edit时,argc为1,argv[0]指向edit
    而执行edit f1.txt时,argc的值为2,argv[0]指向edit,argv[1]指向f1.txt

    相关文章

      网友评论

          本文标题:主函数main中变量(int argc,char *argv[

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