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

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)


Gri*_*han 5

是的,argv[i]结束了NULL.argcnumber 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)

学习HEAR