(int argc,char **argv)是什么意思
(int argc,char **argv)是什么意思
(int argc,char **argv)是什么意思
2021-12-27
(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
举报