【C++】clipp 一个命令行参数解析器

1、简介

clipp是一个使用方便、功能强大的命令行解析器,源码只有一个头文件《clipp.h》
github地址:https://github.com/muellan/clipp

2、使用

只演示最简单的例子,更复杂的参见源码中《README.md》。
例如需要如下命令行参数

用法:
    convert <input file> [-r] [-o <output format>] [-utf16]

参数说明:
    -r, --recursive  convert files recursively
    -utf16           use UTF-16 encoding
#include <iostream>
#include "clipp.h"
using namespace clipp;  // 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]);
    
    // 如果解析成功,变量就会取得命令行参数的值 
}
3、clipp手册

使用源码编译出的手册

发布了324 篇原创文章 · 获赞 266 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/u010168781/article/details/104910391