zoukankan      html  css  js  c++  java
  • C程序获取命令行参数

    命令行参数

    命令行界面中,可执行文件可以在键入命令的同一行中获取参数用于具体的执行命令。无论是Python、Java还是C等等,这些语言都能够获取命令行参数(Command-line argument,与命令同一行中的附加项)。
    C编写的可执行文件的程序入口函数是main函数,因此C程序真正读取命令行参数的就是main函数。
    例:

    #include <stdio.h>
    
    /*
     * test.c 编译后产生可执行文件test.exe或test.out,程序来源于C Primer Plus第十一章
     */
    int main(int argc,char *argv[]) {
        int count;
        printf("The command line has %d arguments :
    ",argc-1);
        for (count = 1; count < argc; ++count) {
            printf("%d: %s
    ",count,argv[count]);
        }
    
        return 0;
    }
    

    我们在test.exe所在文件夹打开命令行窗口,键入test I love you,会输出:

    The command line has 3 arguments:
    1: I
    2: love
    3: you
    

    C标准规定main函数作为程序入口,可以没有参数,也可以有两个参数。两种参数的情况下,第一个参数argc是命令行中的字符串个数,字符串的分隔按空格来判断,上例中总共输入了4个字符串,分别是 test, I, love, you。第二个参数argv是一个指向这些字符串的指针数组。命令行界面中输入的所有字符串被存储在这个数组中,可以用for循环遍历。第一个元素当然是命令的名称。当然,对于接受参数的main函数也可以用另一种声明:
    inr main(int argc, int **argv)argv是一个指向字符的指针的指针,本质上还是指向包含多个字符串的数组。
    命令行界面允许使用双引号把多个单词识别成一个参数:
    test "I love you."
    这其中I love you.被认为是一个整体的参数。

    世事茫茫,光阴何其有限!
  • 相关阅读:
    AC自动机+全概率+记忆化DP UVA 11468 Substring
    java POI技术之导出数据优化(15万条数据1分多钟)
    验证IP端与数据库Ip端是否重复!!!
    JAVA中IP和整数相互转化(含有掩码的计算)
    Nginx搭建反向代理服务器过程详解
    session原理及实现共享
    Linux部署多个tomcat
    linux下怎么修改mysql的字符集编码
    linux yum 安装mysql
    VM虚拟机下的Linux不能上网
  • 原文地址:https://www.cnblogs.com/bobliao/p/9916860.html
Copyright © 2011-2022 走看看