在标准C++中常常觉得拼接字符串是一件比较麻烦的事情,sscanf/sprintf系列函数可能我们大家用的最多的, 从第一次使用fmtlib库后,就发现这个东西实在是太方便了。
下载及使用方法
可以从https://github.com/fmtlib/fmt 下载源码,不需要编译,只需要包含对应的头文件即可。
使用起来非常方便,通过几个示例来看一下:
std::string tempstr = "world"; fmt::print("{}, {}!", "Hello", tempstr);
// 十六进制表示 std::string tempstr = fmt::format("{:x}", 80);
//The date is 2018-10-09. std::time_t t = std::time(nullptr);fmt::print("The date is {:%Y-%m-%d}.\n", *std::localtime(&t));
//tempstr =="abracadabra" std::string tempstr = fmt::format("{0}{1}{0}", "abra", "cad");
使用了fmtlib的相关项目
-
0 A.D.: 一个免费。开源。跨平台实时战略游戏
-
振幅/mp: 数学编程的开放源代码库
-
CUAUV: university大学水下航行器
-
特使: C++ L7代理和通信总线( Lyft )
-
FiveM: GTA V的修改框架
-
harpywar/pvpgn: 带有调整的播放机 vs 播放器游戏网络
-
KBEngine: 一个开源的MMOG服务器引擎
-
Keypirinha: Windows的语义启动器
-
Kodi ( 以前 xbmc ): 家庭影院软件
-
生命线: 2D 游戏
-
OpenSpace: 一个开源astrovisualization框架
-
PenUltima联机( POL ) 插件: 与大多数最终用户兼容的MMO服务器
-
quasardb: 一个分布式,高性能,关联数据库
-
readpe: 读取可移植可执行文件
-
Redis地狱犬: 一个Redis集群代理
-
Saddy: 小型 crossplatform 2D 图形引擎
-
Salesforce分析云插件: 商业智能软件
-
spdlog: super 快速 C++ 日志库
-
star: 金融平台
-
触摸外科: 外科模拟器