argv [1] существует, однако есть ли способ проверить, существует ли argv [2]?
Ответ 1
Да, посмотрите значение argc:
if (argc > 2) {
... use argv[2] ...
}
Ответ 2
Да, 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
здесь argv был - "./main","grijesh","thisiscrazy4",NULL и argc = 3.
argv[0] - это исполняемое имя (путь выполнения), которое можно использовать для вывода pint с инструкциями ошибок. argv называется аргументом vector, а argc - счетчиком аргументов. вы также можете использовать другое имя переменной.