нужны предложения о том, как настроить getopt_long для правильной передачи аргументов командной строки

Folks,
Я рассмотрел пример использования 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;

Спасибо

0

Решение

Два возможных решения:

  1. Используйте длинные аргументы для "Aa", "As" а также "Af"
  2. Используйте один короткий аргумент 'A' который принимает обязательный аргумент, который является 'a', 's' или же 'f' персонаж
1

Другие решения

Других решений пока нет …