21xrx.com
2024-11-08 22:22:29 Friday
登录
文章检索 我的文章 写文章
C++中的format函数:格式化输出的利器
2023-06-27 16:10:39 深夜i     --     --
C++ Format函数 格式化输出 利器 输出函数

在C++编程语言中,format函数是一个非常强大的工具,可以让我们轻松地格式化输出各种类型的数据。这个函数的作用类似于printf,但是它更加易于使用和读取,而且可以解析各种数据类型。

C++中的format函数是从Python的string.format()函数演化而来的,它以一种类似于模板字符串的方式将各种信息格式化为字符串。format函数使用花括号({})来引用变量,并且可以使用各种字符串格式说明符来格式化输出结果。

下面是一个简单的例子:


#include <iostream>

#include <string>

#include <fmt/format.h>

int main()

{

  std::string name = "Alice";

  int age = 25;

  double height = 1.75;

  auto str = fmt::format("My name is {}, I'm {} years old, and I'm {} meters tall", name, age, height);

  std::cout << str << std::endl;

  return 0;

}

在这个例子中,我们使用了format函数将字符串格式化为输出格式,其中用花括号括起来的变量将会在运行时被填充。

与printf不同的是,format函数提供了更加丰富的字符串格式说明符,包括数字格式化、日期格式化、货币格式化等等。下面是一些例子:


int n = 12345;

auto str1 = fmt::format("{:06}", n); //输出"012345"

double pi = 3.141592653;

auto str2 = fmt::format("{:.3f}", pi); //输出"3.142"

auto now = std::chrono::system_clock::now();

auto str3 = fmt::format("{:%Y-%m-%d %H:%M:%S}", std::chrono::system_clock::to_time_t(now)); //输出当前时间字符串

double money = 123456.789;

auto str4 = fmt::format("{:n}", money); //输出"123,456.789"

除了这些基本的格式说明符外,format函数还提供了丰富的格式操作,如下面的例子所示:


std::string str5 = "Hello, world!";

auto str6 = fmt::format(":>20", str5); //输出"    Hello, world!"

auto str7 = fmt::format(":<20", str5); //输出"Hello, world!    "

auto str8 = fmt::format("{:^20}", str5); //输出"  Hello, world!  "

这些格式操作可以让我们将字符串向左对齐、向右对齐、或者居中对齐,进一步增强了format函数的灵活性。

在实际的编程工作中,format函数是开发者们必须要掌握的一项技能。通过灵活地使用format函数,我们可以将各种数据类型格式化输出为易读易懂的字符串,从而更好地展示程序的输出结果。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复