std::string 格式化
时间: 2023-12-01 10:42:11 浏览: 135
C++20标准库中引入了std::format函数,可以用于格式化std::string和std::wstring类型的字符串。该函数的原型如下:
```cpp
template<class... Args>
std::string format(std::string_view fmt, const Args&... args);
template<class... Args>
std::wstring format(std::wstring_view fmt, const Args&... args);
template<class... Args>
std::string format(const std::locale& loc, std::string_view fmt, const Args&... args);
template<class... Args>
std::wstring format(const std::locale& loc, std::wstring_view fmt, const Args&... args);
```
其中,第一个参数是格式化字符串,后面的参数是需要格式化的变量。使用时,可以在格式化字符串中使用花括号{}来表示需要替换的变量,例如:
```cpp
std::string name = "Alice";
int age = 20;
std::string result = std::format("My name is {}, and I am {} years old.", name, age);
```
在上面的例子中,花括号{}中的变量会被替换为对应的值,最终得到的result字符串为"My name is Alice, and I am 20 years old."。
需要注意的是,std::format函数只能用于C++20及以上版本的编译器,如果使用的是旧版本的编译器,则需要使用其他的字符串格式化方法。
阅读全文