Нужны предложения о том, как настроить getopt_long для правильной передачи аргументов командной строки
Люди, я рассмотрел пример использования get_opt_long здесь: https://linux.die.net/man/3/getopt_long_only И я до сих пор не понимаю, как использовать в моем случае. У меня есть несколько вариантов в моем случае.
-Aa => ask for all
-As => ask for stats
-Af => ask for file
-seed => pass seed
-num => repeat times
Я могу заставить работать -seed и -num, но не уверен, как включить -Ap, -Ax -Af
вот мой вариант структуры:
enter code here
{"seed" , required_argument , NULL , 's'} ,
{"num" , required_argument , NULL , 'n'} ,
{"ask_all" , no_argument , NULL , 'a'} ,
{"ask_stat" , no_argument , NULL , 't'} ,
{NULL , 0 , NULL , 0}
также, как я могу использовать -Ap, -As в качестве аргумента командной строки. Я вынужден использовать уникальный символ для всех моих вариантов.
мой блок пока
case 's':
seed = atoi(optarg);
break;
case 'n':
num = atoi(num);
case 'a':
ask->all = true;
break;
Спасибо
1 ответ
Два возможных решения:
- Используйте длинные аргументы для
"Aa"
,"As"
а также"Af"
- Используйте один короткий аргумент
'A'
который принимает обязательный аргумент, который является'a'
,'s'
или же'f'
персонаж