clipp是一个现代C++的命令行界面。它易于使用,功能强大,支持C++11/14/17,且项目仅集成在单个头文件中的。
功能支持选项、选项+值、文档路径值、位置命令、嵌套替代、决策树、可连接标志、自定义值过滤等,此外还有文档生成(使用行、手册页)与错误处理。
简单使用示例:
以这个命令行界面为例:
SYNOPSIS covert <iput file> [-r] [-o <output format>] [-utf16]OPTIONS -r, --recursive covert files recursively -utf16 use UTF-16 ecodig代码定义了 iputfile 和三个选项:-r、-o 和 -utf16。如果解析失败,默认使用文档页代码片段将打印到stdout。
#iclude <iostream>#iclude "clipp.h"usig amespace clipp; usig std::cout; usig std::strig;it mai(it argc, char* argv[]) { bool rec = false, utf16 = false; strig ifile = "", fmt = "csv"; auto cli = ( value("iput file", ifile), optio("-r", "--recursive").set(rec).doc("covert files recursively"), optio("-o") & value("output format", fmt), optio("-utf16").set(utf16).doc("use UTF-16 ecodig") ); if(!parse(argc, argv, cli)) cout << make_ma_page(cli, argv[0]); // ...}









评论