如果我运行C ++程序
./program arg1
argv [1]存在,但有没有办法检查argv [2]是否存在?
答案 0 :(得分:29)
是的,请查看argc
:
if (argc > 2) {
... use argv[2] ...
}
答案 1 :(得分:5)
是,argv[i]
以NULL
结尾。 argc
number of arguments
传递给main函数。从以下代码中获取一个想法。
#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]
是可执行文件名(执行路径)可用于使用错误语句进行pint
argv
调用参数向量,argc
调用参数计数器。你也可以使用其他变量名。
阅读包含环境变量的full syntax of main() function。
int main (int argc, char *argv[], char *envp[])
{
return 0;
}
答案 2 :(得分:1)
main
的原型说明了一切:
int main(int argc, char **argv);
此处的第一个参数argc
带有值Number_Of_Arguments(argv[])_Present
答案 3 :(得分:0)
你可以尝试相反的方式。测试argc
的计数,您可以知道argv[n]
的存在。