美文网首页
命令行参数

命令行参数

作者: 波洛的汽车电子世界 | 来源:发表于2019-05-01 21:12 被阅读0次

    注:以下大部分内容来源于 coursera 课程《C++程序设计》
    在命令行输入“ 可执行文件+字符串 ”,称为命令行参数。

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

    argc是int类型的,它表示的是命令行参数的个数。用户不需要传递,它会根据用户从命令行输入的参数个数,自动确定。argv是char*类型的数组,后面还有一个子数组[],所以叫指针数组,里面的每个元素都是char*类型的指针,每个指针都指向字符串,这个字符串里面就存放着“命令行参数”。
    argv[0]指向的字符串就是第一个命令行参数,一般来说是用户运行的程序的名字。准确地说,argv是char**类型的,它的作用是存储用户从命令行传递进来的参数。
    例子:

    %遍历argv数组并输出
    #include<stdio.h>
    int main(int argc, char*argv[])
    {
    for (int i = 0; i < argc; i++)
         printf("%s\n",argv[i]);
    return 0;
    }
    

    将上面的程序编译成sample.exe,然后在控制台窗口敲

    sample para1 para2  s.txt 5 "hello world"
    

    这个语句一共有6个命令行参数,输出结果是

    sample
    para1 
    para2  
    s.txt 
    5 
    hello world
    

    如果命令行参数内部有空格,那么就像"hello world"一样,用引号括起来。
    另一个例子:

    #include <stdio.h>
    void main(int argc,char** argv)
    {
           printf("%d\n",argc);
           printf("%s\n",argv[0]);
           printf("%s\n",argv[1]);
           printf("%s\n",argv[2]);
    }
    

    对于上面的例子,我们将其保存为test.c,用gcc编译生成目标文件为test。

    相关文章

      网友评论

          本文标题:命令行参数

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