C++ 检查argv[i]是否存在C++;

C++ 检查argv[i]是否存在C++;,c++,input,main,C++,Input,Main,argv[1]存在,但是是否有方法检查argv[2]是否存在?是,请查看argc的值: if (argc > 2) { ... use argv[2] ... } 你可以试试另一种方法。测试argc的计数,在那里你可以知道argv[n]的存在main的原型说明了这一切: int main(int argc, char **argv); 这里的第一个参数,argc携带参数数量(argv[])的值。Yes,argv[i]以NULL结尾argc是传递给主函数的参数数。从下面的代码中得到一

argv[1]存在,但是是否有方法检查argv[2]是否存在?

是,请查看
argc
的值:

if (argc > 2) {
  ... use argv[2] ...
}

你可以试试另一种方法。测试
argc
的计数,在那里你可以知道
argv[n]
的存在
main的原型说明了这一切:

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

这里的第一个参数,
argc
携带参数数量(argv[])的值。
Yes
argv[i]
NULL
结尾
argc
是传递给主函数的
参数数。从下面的代码中得到一个想法

#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

检查
argc
怎么样?在本例中
argc==3
实际上–执行路径也被视为参数。
添加了有关主要语法的更多信息
@Hugo No,
x=argv[i]!=NULL
返回
0
1
,具体取决于
argv[i]
的值,其中
x=argv[i]
产生一个指针。是的,因为每一个非零在C中都等价于True,所以
if(argv[i]!=NULL)
可以写成
if(argv[i])
是的,这就是我的意思,谢谢你的解释。
int main (int argc, char *argv[], char *envp[])
{
  return 0;
}