Если я запустил программу на C ++
./program arg1
argv [1] существует, однако есть ли способ проверить, существует ли argv [2]?
Да, посмотрите на стоимость argc
:
if (argc > 2) {
... use argv[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]
Имя исполняемого файла (путь выполнения) можно использовать для пинтинга с ошибочными утверждениями.
argv
называется вектор аргумента и argc
вызываемый счетчик аргументов. Вы также можете использовать другое имя переменной.
Прочитать о полный синтаксис функции main () это также включает переменные среды.
int main (int argc, char *argv[], char *envp[])
{
return 0;
}
Прототип main
говорит все это:
int main(int argc, char **argv);
Первый параметр здесь, argc
несет в себе значение Number_Of_Arguments(argv[])_Present
Вы можете попробовать другой способ. Проверьте количество argc
там можно узнать наличие argv[n]
,