嗨我想知道argv [1]或argv [2]会是什么值,如果我没有提供命令行参数
答案 0 :(得分:7)
你已经得到了大量错误答案。如果在命令行中没有输入任何内容,argv[0]
通常仍会包含程序的名称,因此argc
将为1. argv[argc]
将包含空指针(始终在每个符合要求的实现上) C或C ++)。在C标准中,要求是§5.1.2.1.1/ 2的第二个要点。在C ++标准中,它是§3.6.1/ 2。
答案 1 :(得分:2)
答案 2 :(得分:-1)
使用argv的唯一安全方法是将其视为argc元素数组。
for (int ii = 0; ii < argc; ++ii)
{
// safe to use argv[ii];
cout << argv[ii];
}
int ix = somevalue;
if (ix >= 0 && ix < argc)
{
// safe to use argv[ix];
}
杰瑞注意。在大多数体系结构上取消引用NULL时,会出现段错误。