百科.dev
全部条目在线工具AI 编程趋势榜开源项目技术资讯提交条目
登录
< 返回工具列表
C

cmdline

> 编程语言
开源

一个命令行解析器

1.4K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

一个命令行解析器

=========================================== cmdline: 一个简单的 C++ 命令行解析器

关于

这是一个简单的 C++ 命令行解析器。

  • 易于使用
  • 只有一个头文件
  • 自动类型检查 样本

这里展示了 cmdline 的示例用法。 正常使用

这是一个简单使用示例。 ::

// 含有 cmdline.h 头文件 #include "cmdline.h" int main(int argc, char *argv[]) { // 创建解析器 cmdline::parser a; // 添加指定类型的变量。 // 第一个参数是长名称 // 第二个参数是短名称(如果指定了 '\0',则没有短名称) // 第三个参数是描述 // 第四个参数是必需的(可选。默认值为 false) // 第五个参数是默认值(可选。当必需为 false 时使用) a.add("host", 'h', "主机名", true, ""); // 第六个参数是额外约束。 // 这里,端口号必须是 1 到 65535,通过 cmdline::range() 来实现。 a.add("port", 'p', "端口号", false, 80, cmdline::range(1, 65535)); // cmdline::oneof() 可以限制选项。 a.add("type", 't', "协议类型", false, "http", cmdline::oneof("http", "https", "ssh", "ftp")); // 还可以定义布尔标志。 // 不带类型参数调用 add 方法。 a.add("gzip", '\0', "传输时使用 gzip"); // 运行解析器。如果命令行参数有效,则返回。如果参数无效,解析器输出错误消息,然后退出程序。如果指定了帮助标志("--help" 或 "-?"),解析器输出使用说明,然后退出程序。 a.parse_check(argc, argv); // 使用标志值 cout << a.get("type") << "://" << a.get("host") << ":" << a.get("port") << endl; // 通过调用 exist() 方法来引用布尔标志。 if (a.exist("gzip")) cout << "gzip" << endl; }

以下是一些执行结果:

Issues· 21 开放

查看全部 Issues在 GitHub 打开

暂无开放 Issues,或尚未同步最近议题。

> 标签

C

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月17日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言