clipp C++ 命令行界面开源项目

我要开发同款
匿名用户2018年09月18日
43阅读
开发技术C/C++
所属分类程序开发、其他开发相关
授权协议MIT

作品详情

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

代码定义了 inputfile 和三个选项:-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]);    // ...}
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论