在Python中,我们可以使用以下代码方便的格式化字符串
不仅是Python,在其他高级语言中同样也可以很好地对字符串进行格式化。
本文将对C++中字符串格式化方法进行总结,包括:
- C语言中如何进行字符串格式化
- C++20之前的版本如何进行字符串格式化
- C++20的字符串格式化标准库函数std::format
在C语言中,我们可以使用
进行字符串格式化,例如
在C++中,C++标准库在C++20之前并没有给std::string字符串类提供一个标准的字符串格式化函数,我们只能通过使用字符串流来拼凑字符串,比如
这种代码真的是又臭又长,特别是当格式化参数很多时。
本小节介绍简单好用跨平台的C++20之前的字符串格式化开源工具。
1.3.1 format
Github地址:https://github.com/arajar/format
这是一个只有单个头文件的C++11标准的std::string字符串格式化工具,其只有一个文件,头文件代码如下
使用方法
1.3.2 sformat
Github:https://github.com/mmc1993/sformat
这同样是一个只有单个头文件的字符串格式化工具,在使用时我们只需要包含头文件,头文件的代码内容如下
从上述代码上看,我个人认为其实现的代码没有1.1.1节format简洁,并且其最大可支持的格式化参数为24个,这也是这个工具的缺陷。
使用方法
我们可以使用可变参数模板+定义一个字符串格式化函数
使用方法
经不住广大群众的吐槽,C++20标准终于推出了标准库的字符串格式化函数,该函数既支持也支持宽字符的格式化。
函数原型
函数使用
以上代码只能在支持C++20标准的编译器上编译通过,但是不得不感叹一句C++苦字符串格式化久矣!!!
欢迎访问我的个人站:https://www.stubbornhuang.com/
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/2140.html