java的argv_int argc,char * argv []是什么意思?

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

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

当我不使用IDE而是仅使用命令行编译器来编写C ++时,键入:

int main()

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

#1楼

argv和argc是在C和C ++中将命令行参数传递给main() 。

argc将是argv指向的字符串数。 (实际上)这将是1加上参数的数量,因为几乎所有的实现都将程序名放在数组的前面。

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

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

尝试以下程序:

#include

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

#2楼

argc是从命令行传递到程序中的参数数量,而argv是参数数组。

您可以遍历参数,知道它们的数量,例如:

for(int i = 0; i < argc; i++)

{

// argv[i] is the argument at index i

}

#3楼

main的参数表示启动程序时提供给程序的命令行参数。 argc参数表示命令行参数的数量,而char *argv[]是字符串(字符指针)的数组,表示在命令行上提供的各个参数。

#4楼

第一个参数是提供的参数数量,第二个参数是表示这些参数的字符串列表。

#5楼

两者的

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

int main();

是C或C ++程序入口点的合法定义。 Stroustrup:C ++样式和技术常见问题解答详细介绍了一些可能对您的主要功能适用或合法的变体。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值