struct option

Структура, характеризующая длинные опции командной строки

Прототип:

#include <getopt.h>
#define no_argument 0
#define required_argument 1
#define optional_argument 2
struct option {
const char *name; /* name of long option */
int has_arg; /* one of no_argument, required_argument, and optional_argument: whether option takes an argument */
int *flag; /* if not NULL, set *flag to val when option found */
int val; /* if flag not NULL, value to set *flag to; else return value */
};

Описание:

Структура используется в функциях getopt_long() и getopt_long_only() для определения характеристик длинных опций. Структура включает следующие поля:

name
Имя длинной опции без префикса в виде двойного дефиса.
has_arg
Одно из следующих значений:
no_argument
ожидается, что опция не будет иметь аргументов.
required_argument
опции требуется аргумент.
optional_argument
аргумент опции не обязателен.
flag
val
Если указатель flag не равен NULL, тогда int, на который он указывает будет установлен в значение поля val. Если flag равен NULL, тогда будет возвращено значение поля val. Установка flag в NULL и val в соответствующее имени короткой опции значение приводит к тому, что функции getopt_long() и getopt_long_only() по своей логике начинают соответствовать getopt().

Классификация:

BSD, GNU

Поддерживается, начиная с ЗОСРВ «Нейтрино» редакции 2018

Тематические ссылки:

getopt_long(), getopt_long_only(), getopt()




Предыдущий раздел: Описание API системной библиотеки