thi*_*zy4 14 c++ program-entry-point input
如果我运行C++程序
./program arg1
Run Code Online (Sandbox Code Playgroud)
argv [1]存在,但有没有办法检查argv [2]是否存在?
NPE*_*NPE 31
是的,看看价值argc
:
if (argc > 2) {
... use argv[2] ...
}
Run Code Online (Sandbox Code Playgroud)
是的,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
Run Code Online (Sandbox Code Playgroud)
这里argv是 - "./main","grijesh","thisiscrazy4",NULL
和argc = 3.
argv[0]
是可执行的名称(执行路径)可以用于pint与错误语句.
argv
调用参数向量并argc
调用参数计数器.你也可以使用其他变量名.
阅读main()函数的完整语法,该函数还包括环境变量.
int main (int argc, char *argv[], char *envp[])
{
return 0;
}
Run Code Online (Sandbox Code Playgroud)