argv
- это указатель на char *
, который содержит аргументы программы.
*argv
равен argv[0]
, который является первым аргументом, именем программы.Вы действительно хотите, чтобы аргумент argv[1]
был передан atoi
, но вы также должны проверить, был ли передан аргумент:
if(argc != 2)
{
//print usage
return 0;
}
int key = atoi(argv[1]);
Также стоит упомянуть, что было бы лучше использовать strtol
вместо atoi
, поскольку он лучше обрабатывает ошибки.