fmt::format格式化字符串时如何用%占位符
时间: 2024-09-28 12:15:15 浏览: 46
JS获取当前时间并格式化"yyyy-MM-dd HH:mm:ss"
5星 · 资源好评率100%
fmt库在C++中提供了`std::format`函数用于格式化字符串,其 `%` 占位符类似于C风格的格式控制符。在`std::format`中,你可以使用类似`"{:<10}"`这样的格式字符串来指定占位符的行为。这里是一些常见的占位符说明:
1. `%d` 或 `{}d`: 对应整数,可以指定基数(如`{:#x}`显示十六进制)。
2. `%f` 或 `{}f`: 对应浮点数,有精度控制,如`{:.2f}`表示保留两位小数。
3. `%s` 或 `{}s`: 字符串,可以用`"{:s <size}"`来设置最大宽度。
4. `%c` 或 `{}c`: 单个字符。
5. `%p` 或 `{}p`: 指针地址,通常用于调试信息。
使用这些占位符时,需要将值传递给`std::format`函数,并配合对应的变量或表达式作为第二个参数。例如:
```cpp
int number = 123;
float decimal = 3.14;
std::string str = "Hello";
std::string formatted_str = std::format("Number: {} \nDecimal: {:.2f} \nString: {}", number, decimal, str);
```
这会生成如"Number: 123 Decimal: 3.14 String: Hello"这样的格式化字符串。
阅读全文