Мне нужно проанализировать аргументы командной строки в C. Мои аргументы в основном int или float со значениями по умолчанию и ограничениями диапазона.
Я начал реализовывать что-то вроде этого:
option_float(float* out, int argc, char* argv, char* name, description,
float default_val, int is_optional, float min_value, float max_value)
который я называю, например:
float* pct;
option_float(pct, argc, argv, "pct", "My super percentage option", 50, 1,
FALSE, 0, 100)
Однако я не хочу изобретать велосипед!
Моя цель - иметь проверку на ошибки ограничений диапазона, выдавать ошибку, если опция не является необязательной и не установлена. И сгенерируйте справочное сообщение, обычно предоставляемое функцией usage ().
Текст использования будет выглядеть так:
--pct My super percentage option (default : 50). Should be in [0, 100]
Я начал с getopt, но он слишком ограничен для того, что я хочу делать, и мне кажется, что он по-прежнему требует от меня написания слишком большого количества кода для такого простого случая использования, как этот.
Какие альтернативы вы бы порекомендовали?
gengetopt
уменьшил бы объем кода, который вам нужно написать. - person dmckee --- ex-moderator kitten   schedule 26.12.2010