• 授权协议:MIT
  • 开发厂商:-
  • 软件语言:C/C++
  • 更新日期:2018-09-06
clipp

clipp 是一个现代 C++ 的命令行界面。它易于使用,功能强大,支持 C++ 11/14/17,且项目仅集成在单个头文件中的。功能支持选项、选项+值、文档路径值、位置命令、嵌套替代、决策树、可连接标志、自定义值过滤等,此外还有文档生成与错误处理。-utf16useUTF-16encoding代码定义了input file和三个选项:-r<span style="font-family:PingFang SC, Helvetica Neue, Microsoft YaHei UI, Mic

clipp C++ 命令行界面 项目简介

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<span style="font-family:PingFang SC, Helvetica Neue, Microsoft YaHei UI, Microsoft YaHei, Noto Sans CJK SC, sans-serif"><span style="font-size: 16px;">、</span></span>-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 C++ 命令行界面 评论内容