gpt4 book ai didi

c++ - int argc,char * argv []是什么意思?

转载 作者:行者123 更新时间:2023-12-02 10:36:35 25 4
gpt4 key购买 nike

在许多C++ IDE和编译器中,当它为您生成主要功能时,它看起来像这样:

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

当我不使用IDE编写C++时,仅使用命令行编译器,则键入:
int main()

没有任何参数。这是什么意思,对我的程序至关重要吗?

最佳答案

argvargc是如何在C和C++中将命令行参数传递给main()的方式。
argc将是argv指向的字符串数。 (实际上)这将是1加上参数的数量,因为几乎所有实现都将程序名放在数组的前面。

按照惯例,这些变量分别命名为argc(参数计数)和argv(参数 vector ),但是可以给它们指定任何有效的标识符:int main(int num_args, char** arg_strings)同样有效。

如果您不打算处理命令行参数,也可以完全省略它们,从而生成int main()

请尝试以下程序:

#include <iostream>

int main(int argc, char** argv) {
std::cout << "Have " << argc << " arguments:" << std::endl;
for (int i = 0; i < argc; ++i) {
std::cout << argv[i] << std::endl;
}
}

使用 ./test a1 b2 c3运行它会输出

Have 4 arguments:
./test
a1
b2
c3

关于c++ - int argc,char * argv []是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60027104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com