如果我运行一个 C++ 程序
./program arg1
argv[1] 存在,但是有没有办法检查 argv[2] 是否存在?
是的,看看 的值argc
:
if (argc > 2) {
... use argv[2] ...
}
是的,argv[i]
以 结尾NULL
。argc
传递number of arguments
给主函数。从下面的代码中得到一个想法。
#include<stdio.h>
int main(int argc, char* argv[]){
int i=0;
while(argv[i]!=NULL){
printf("\n %s is argv %d ",argv[i],i);
i++;
}
printf("\n");
}
desktop:~$ gcc main.c -o main
desktop:~$ ./main grijesh thisiscrazy4
./main is argv 0
grijesh is argv 1
thisiscrazy4 is argv 2
这里 argv 是 -"./main","grijesh","thisiscrazy4",NULL
并且 argc = 3。
argv[0]
是可执行文件名(执行路径),可用于标记错误语句。
argv
称为参数向量和argc
参数计数器。您也可以使用其他变量名。
阅读包含环境变量 的 main() 函数的完整语法。
int main (int argc, char *argv[], char *envp[])
{
return 0;
}
的原型main
说明了一切:
int main(int argc, char **argv);
这里的第一个参数,argc
携带的值Number_Of_Arguments(argv[])_Present
你可以换一种方式试试。测试一下argc
,就可以知道有没有了argv[n]
。