(int argc,char **argv)是什么意思

来源:2-2 用 C++ 向世界问好

weixin_宝慕林5008910

2021-12-27 16:53

(int argc,char **argv)是什么意思

写回答 关注

2回答

  • 永恒丿丶之火
    2024-01-07 16:41:16

    (int argc, char **argv) 是C和C++中 main 函数的参数列表。这些参数用于接收命令行参数。

    • argc (argument count) 是一个整数,表示命令行参数的数量,包括程序名称本身。它的值至少为1,即只有程序名本身,没有其他参数。

    • argv (argument vector) 是一个指向字符指针的指针,用于存储命令行参数的字符串。它的每一个字符串都是一个命令行参数。第一个参数 argv[0] 存储的是程序的名称,后续的参数依次存储在 argv[1]、argv[2]、...、argv[argc - 1] 中。

    举个例子:

    我现在编写了一个名称为 myprogram.cpp 的 C++ 程序,程序的代码如下:

    #include <iostream>
    
    int main(int argc, char **argv) 
    {
        std::cout << "Argument count: " << argc << std::endl;    
        
        for (int i = 0; i < argc; i++) 
        {
            std::cout << "Argument " << i << ": " << argv[i] << std::endl;
        }    
        return 0;
    }

    在上面的示例中,程序使用了 argc 和 argv 参数。它打印出命令行参数的数量,并逐个打印出每个参数的值。

    接下来我对这个 myprogram.cpp 程序进行了编译(编译之后才能运行),会生成一个叫做 myprogram 的可执行文件。

    假如我现在要在命令行中运行 ./myprogram arg1 arg2 arg3,则输出将是:

    Argument count: 4
    Argument 0: ./myprogram
    Argument 1: arg1
    Argument 2: arg2
    Argument 3: arg3

    注意 Argument 0 这里没有写错,程序运行的结果就是如下:

    Argument 0: ./myprogram


  • qq_慕后端3149344
    2022-01-01 16:53:46

    #include<stdio.h>

    int main(int argc,char **argv)

    {

        printf(" main (int argc, char *argv [ ], char **env)是UNIX和Linux中的标准写法。 argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数\n");

        return 0;

    }


趣味 C++ 入门

C++ 入门,开启趣味学习之旅,揭开 C++ 的神秘面纱,让你不再望而生畏。

31197 学习 · 189 问题

查看课程

相似问题