Мне нужно проанализировать аргументы командной строки в 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)
Однако я не хочу изобретать велосипед!
Моя цель - проверить ошибки ограничений диапазона, броситьошибка, когда опция не является обязательной и не установлена.И сгенерируйте сообщение справки, обычно предоставляемое функцией use ().
Текст использования будет выглядеть так:
--pct My super percentage option (default : 50). Should be in [0, 100]
Я начал с getopt, но он слишком ограничен для того, что яхочу сделать, и я чувствую, что мне все еще нужно писать слишком много кода для простого варианта использования, подобного этому.
Какие альтернативы вы бы порекомендовали?