clipp/1.2.3
#include <iostream>
#include <string>
#include <clipp.h>
# define __VERSION "0.0.0.1"
int main(int argc, char* argv[]) {
bool help = false;
bool version = false;
std::string input_file;
std::string output_file;
auto cli = (
// 定义一个帮助标志,使用 -h 或 --help
clipp::option("-h", "--help").set(help).doc("Show help information"),
// 定义一个输入文件选项,使用 -i 或 --input
clipp::option("-i", "--input").doc("Input file") & clipp::value("file", input_file),
// 定义一个输出文件选项,使用 -o 或 --output
clipp::option("-o", "--output").doc("Output file") & clipp::value("file", output_file),
// 定义一个整数值选项,使用 -v 或 --value
clipp::option("-v", "--value").set(version).doc("Show version")
);
if (clipp::parse(argc, argv, cli)) {
if (help) {
std::cout << clipp::make_man_page(cli, argv[0]);
}else if(version){
std::cout << "Version: " << __VERSION << std::endl;
}
else {
std::cout << "Input file: " << input_file << std::endl;
std::cout << "Output file: " << output_file << std::endl;
}
} else {
std::cerr << clipp::make_man_page(cli, argv[0]);
return 1;
}
return 0;
}