Внутри цикла обработки опций можно вызвать 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 
 Содержание