clipp 介绍
clipp 是一个现代 C 的命令行界面。它易于使用,功能强大,支持 C 11/14/17,且项目仅集成在单个头文件中的。
功能支持选项、选项+值、文档路径值、位置命令、嵌套替代、决策树、可连接标志、自定义值过滤等,此外还有文档生成(使用行、手册页)与错误处理。
简单使用示例:
以这个命令行界面为例:
SYNOPSIS convert <input file> [-r] [-o <output format>] [-utf16] OPTIONS -r, --recursive convert files recursively -utf16 use UTF-16 encoding
代码定义了 input file 和三个选项:-r、``-o 和 -utf16。如果解析失败,默认使用文档页代码片段将打印到 stdout。
#include <iostream> #include "clipp.h" using namespace clipp; using std::cout; using std::string; int main(int argc, char* argv[]) { bool rec = false, utf16 = false; string infile = "", fmt = "csv"; auto cli = ( value("input file", infile), option("-r", "--recursive").set(rec).doc("convert files recursively"), option("-o") & value("output format", fmt), option("-utf16").set(utf16).doc("use UTF-16 encoding") ); if(!parse(argc, argv, cli)) cout << make_man_page(cli, argv[0]); // ... }
clipp 官网
https://github.com/muellan/clipp
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。