Внутри цикла обработки опций можно вызвать poptBadOption для получения опции, которая оказалась "плохой", и poptStrerror для вывода сообщения, соответствующего данной ошибке.
В poptBadOption необходимо передать контекст и битовую маску флагов. Для указания отсутствия флагов передается 0, или POPT_BADOPTION_NOALIAS, который заставляет popt вернуть не значение, определенное в алиасах, а саму опцию. Для лучшего протоколирования ошибки в этом случае poptBadOption вернет опцию, максимально похожую на то, что ввел пользователь, если нет возможности вернуть в точности то, что он ввел.
Синтаксис:
char * poptBadOption(poptContext context, int flags); |
Для получения стандартного сообщения о конкретной ошибке, в
poptStrerror нужно передать ее код:
const char * poptStrerror(const int error_code); |
Скомбинировав возможности можно вывести ошибку и ее код, как показано в примере:
fprintf( stderr, "Error with option [%s]\n %s", |
Для вывода стандартной помощи (сообщения об использовании) применяется функция poptPrintUsage:
void poptPrintUsage(poptContext context, |
Эта функция выводит помощь, когда пользователь задал в командной строке неверные опции или не минимально достаточный их набор.
Далее - Работающий пример
Назад - Программирование с popt
Содержание