fmt::print
时间: 2023-11-27 22:43:26 浏览: 108
`fmt::print` 是 C++20 中引入的一个格式化输出函数,它可以将格式化的数据输出到标准输出流或者其他输出流中。相比于传统的输出方式,`fmt::print` 更加灵活、易用,并且可以避免一些常见的格式化输出错误。
使用 `fmt::print` 需要包含头文件 `<format>`,并且需要使用命名空间 `std::format`。下面是一个简单的例子:
```cpp
#include <format>
#include <iostream>
int main() {
int x = 42;
double y = 3.14;
std::string s = "hello";
std::format_to(std::cout, "x = {}, y = {}, s = {}\n", x, y, s);
}
```
这个例子中,我们使用了 `std::format_to` 函数将格式化的数据输出到标准输出流中。其中,`{}` 表示一个占位符,可以用后面的参数依次替换。输出结果为:
```
x = 42, y = 3.14, s = hello
```
相关问题
fmt库中的fmt::format使用%ld的例子
下面是一个使用 `%ld` 的例子:
```c++
#include <fmt/core.h>
#include <vector>
int main() {
std::vector<long> v = {1, 2, 3, 4};
std::string s = fmt::format("The vector contains [{:ld}, {:ld}, {:ld}, {:ld}]", v[0], v[1], v[2], v[3]);
fmt::print("{}\n", s);
return 0;
}
```
在这个例子中,我们使用 `%ld` 格式化了 `v` 中的每个元素,然后使用 `fmt::format` 生成了一个字符串 `s`。最后,我们使用 `fmt::print` 将生成的字符串打印到控制台上。输出结果如下:
```
The vector contains [1, 2, 3, 4]
```
fmt::format 中长整形数组%ld的用法
在 `fmt::format` 中,可以通过使用 `%ld` 来格式化一个长整形数据。例如:
```c++
#include <fmt/format.h>
int main() {
long int arr[] = {1, 2, 3, 4, 5};
std::string str = fmt::format("Array: [{:ld}, {:ld}, {:ld}, {:ld}, {:ld}]", arr[0], arr[1], arr[2], arr[3], arr[4]);
fmt::print("{}\n", str);
return 0;
}
```
在上面的代码中,我们定义了一个长整形数组 `arr`,然后使用 `%ld` 来格式化数组的每个元素,最终生成了一个字符串 `str`。`{:ld}` 中的 `:` 表示格式说明符,`ld` 表示长整形数据类型。在输出时,我们使用 `fmt::print` 来将字符串打印到控制台上。
阅读全文