我需要在 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)
但是我不想重新发明轮子!
My objective is to have error checking of range constraints, throw an error when the option is not optional and is not set. 并生成通常由 usage() 函数给出的帮助信息。
使用文本如下所示:
--pct My super percentage option (default : 50). Should be in [0, 100]
我从 getopt 开始,但它对于我想做的事情太有限了,我觉得它仍然需要我为这样的简单用例编写太多代码。
你会推荐什么替代品?