2015-11-25 11 views
0

Я посмотрел на многие из вопросов здесь раньше, и я решил пойти с unistd.h для Getopt.Аргумент Line Вариант Синтаксический для C

Однако у меня есть необходимость, что определенный вариант зависит от предыдущего варианта, как в

exe -a a_opt -b b_bopt 

где -b будет делать b_opt/a_opt

Из этого следует, что -a должен быть разобран до того -b.

Есть ли способ реализовать это?

Благодаря

EDIT: Простой способ создать флаг и проверить его в конце концов, однако я пытаюсь увидеть, если есть более элегантное решение.

ответ

0

Нет такого способа принудительного использования порядка аргументов, используя только getopt.

Что вы можете сделать, это установить флаг, когда getopt возвращает -a вариант для вас, и убедитесь, что флаг, когда вы получаете возможность -b.

+0

Да, это то, о чем я думал. Я надеялся, что есть что-то элегантное. –

0

В getopt нет смысла для порядка параметров. Обычный способ сделать это - иметь один большой случай switch для getopt, который устанавливает различные флаги, а после него вы можете добавить дополнительные проверки флагов зависимостей.