Trang tài liệu
Khóa học C++ nền tảng
Chương 20. Thư viện
fmt

fmt

fmt là một thư viện định dạng C++ hiện đại cung cấp một cách dễ dàng và hiệu quả để định dạng văn bản và in nó ra các đầu ra khác nhau. Thư viện cung cấp mức độ tương thích cao với các tiêu chuẩn C++, làm cho nó phù hợp với nhiều ứng dụng và nền tảng khác nhau. fmt nhấn mạnh tính đơn giản, khả năng mở rộng và an toàn kiểu.

Tính năng

  • Hỗ trợ các đối số vị trí và được đặt tên để dễ đọc hơn trong các tác vụ định dạng phức tạp
  • Hỗ trợ cú pháp chuỗi định dạng tương tự như str.format() của Python
  • Cung cấp kiểm tra chuỗi định dạng thời gian biên dịch để đảm bảo an toàn cho loại
  • Tài liệu phong phú và API thân thiện với người dùng

Ví dụ sử dụng

Dưới đây là một số ví dụ về cách sử dụng thư viện fmt:

Sử dụng cơ bản

#include <fmt/core.h>
 
int main() {
    fmt::print("Hello, world!\n");
    return 0;
}

Định dạng với các đối số vị trí

#include <fmt/core.h>
 
int main() {
    fmt::print("The answer is {}.\n", 42);
    fmt::print("{1}, {0}!\n", "world", "Hello");
    return 0;
}

Định dạng với các đối số được đặt tên

#include <fmt/core.h>
 
int main() {
    fmt::print("Hello, {name}!\n", fmt::arg("name", "world"));
    return 0;
}

Sử dụng cú pháp chuỗi định dạng

#include <fmt/core.h>
 
int main() {
    fmt::print("{:<30}", "left-aligned");
    fmt::print("{:>30}", "right-aligned");
    fmt::print("{:^30}", "center-aligned");
    fmt::print("{:*^30}", "center-aligned");
 
    fmt::print("int: {0:d}; hex: {0:x}; oct: {0:o}; bin: {0:b}", 42);
    fmt::print("{:.2f}", 3.1415926);
    fmt::print("{:010.2f}", 3.1415926);
 
    return 0;
}

Để biết thêm thông tin, bạn có thể tham khảo tài liệu fmt chính thức.