Utilizando a fmtlib para saídas formatadas em C++

Em testes realizados o fmt foi cerca de 35% mais rápido que o printf do C e o std::cout do C++ .


Utilizando a fmtlib para saídas formatadas em C++

{fmt} é uma biblioteca de formatação de código aberto que oferece uma alternativa rápida e segura para C stdio e C++ iostreams.

Recursos

  • API de formato simples com argumentos posicionais para localização
  • Implementação de C++20 std::format
  • Sintaxe de string de formato semelhante ao formato do Python
  • Formatador de ponto flutuante IEEE 754 rápido com arredondamento correto, curto e garantias de ida e volta
  • E entre diversos outros.


Instalação

Dependências:

Depois basta clonar, compilar e instalar com os comandos abaixo:

git clone --recursive https://github.com/fmtlib/format-benchmark.git
cd format-benchmark
cmake .
make
sudo make install

Exemplos de uso

Uso básico:

#include <fmt/core.h>

int main() {
  fmt::print("A resposta é {}.\n", 42);
}

Para compilar use a flag -lfmt:

g++ -I/usr/local/include/benchmark/ -lfmt main.cpp

Atribuindo saída formatada à uma string:

#include <fmt/core.h>

int main() {
  std::string s = fmt::format("A resposta é {}.\n", 42);
  fmt::print("{}", s);
}

Utilizando argumentos posicionais:

#include <fmt/core.h>

int main() {
  std::string s = fmt::format("Eu {1} amar {0} o {2}!\n", "demais", "\u2764", "C++");
  fmt::print("{}", s);
}

Imprimindo informações cronológicas:

#include <fmt/chrono.h>

int main() {
  using namespace std::literals::chrono_literals;
  fmt::print("Saída padrão: {} {}\n", 42s, 100ms);
  fmt::print("Saída formatada: {:%H:%M:%S}\n", 3h + 15min + 30s);
}

Saída com cores:

#include <fmt/color.h>

int main() {
  fmt::print(fg(fmt::color::crimson) | fmt::emphasis::bold,
             "Olá, {}!\n", "Mundo");
}


Para mais exemplos consulte a documentação e o repositório .


cpp linguagemc


Compartilhe


Nosso canal no Youtube

Inscreva-se


Marcos Oliveira

Marcos Oliveira

Desenvolvedor de software
https://github.com/terroo

Artigos Relacionados




Crie Aplicativos Gráficos para Linux e Windows com C++

Aprenda C++ Moderno e crie Games, Programas CLI, GUI e TUI de forma fácil.

Saiba Mais

Receba as novidades no seu e-mail!

Após cadastro e confirmação do e-mail, enviaremos semanalmente resumos e também sempre que houver novidades por aqui para que você mantenha-se atualizado!


caso queira entrar em contato conosco, envie-nos um e-mail.