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

时间:2012-11-28 07:45:37

标签: c++ input main

如果我运行C ++程序

./program arg1

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

4 个答案:

答案 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;
}

Learn HEAR

答案 2 :(得分:1)

main的原型说明了一切:

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

此处的第一个参数argc带有值Number_Of_Arguments(argv[])_Present

答案 3 :(得分:0)

你可以尝试相反的方式。测试argc的计数,您可以知道argv[n]的存在。