Проверка наличия argv [i] С++

Если я запустил программу на С++

./program arg1

argv [1] существует, однако есть ли способ проверить, существует ли argv [2]?

Ответ 1

Да, посмотрите значение argc:

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

Ответ 2

Да, 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

здесь argv был - "./main","grijesh","thisiscrazy4",NULL и argc = 3.

argv[0] - это исполняемое имя (путь выполнения), которое можно использовать для вывода pint с инструкциями ошибок.
argv называется аргументом vector, а argc - счетчиком аргументов. вы также можете использовать другое имя переменной.

Прочитайте полный синтаксис функции main(), который также включает переменные среды.

int main (int argc, char *argv[], char *envp[])
{
  return 0;
}

Узнать HEAR

Ответ 3

Прототип main говорит все:

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

Первый параметр здесь argc несет значение Number_Of_Arguments(argv[])_Present

Ответ 4

Вы можете попробовать наоборот. Проверьте счетчик argc, там вы можете узнать наличие argv[n].