Biblioteca C++11 header-only que permite analisar, criar, manipular e serializar JSON em C++ com uma sintaxe semelhante à da STL.
fmtlib/fmt
Uma biblioteca de formatação para C++ que oferece uma alternativa rápida e segura quanto aos tipos a C stdio e iostreams, implementando std::format do C++20.
- Estrelas
- 25,887
- Forks
- 3,089
- Issues abertas
- 16
- Último commit
- há 3 dias
O que é?
{fmt} é uma biblioteca open source para C++ que formata texto e busca ser uma alternativa mais rápida e segura a C stdio e C++ iostreams. Ela usa uma sintaxe de strings de formatação semelhante à do Python e implementa as interfaces C++20 std::format e C++23 std::print, permitindo escrever código em um estilo familiar.
A biblioteca verifica as strings de formatação em tempo de compilação, então erros como aplicar um especificador inválido a uma string são apontados como erros de compilação. Ela também oferece uma API compatível com printf, formatação de datas e horários com chrono, containers e ranges, saída colorida no terminal e um formatador de ponto flutuante baseado no algoritmo Dragonbox. Os usuários podem adicionar suporte à formatação dos próprios tipos.
{fmt} não tem dependências externas e está disponível como um pequeno conjunto de headers ou em uma build header-only. É licenciada sob a MIT e usada por projetos como ClickHouse, MongoDB, PyTorch e spdlog.
Recursos principais
- 01Sintaxe de strings de formatação no estilo Python, com argumentos posicionais
- 02Implementa std::format do C++20 e std::print do C++23
- 03Verificação de strings de formatação em tempo de compilação
- 04Formatação rápida de ponto flutuante usando o algoritmo Dragonbox
- 05Suporte à formatação de chrono, ranges e containers
- 06Modo header-only, sem dependências externas
Casos de uso
- Substituir printf ou iostreams em código C++ sensível a desempenho
- Montar mensagens de log em bibliotecas como spdlog
- Formatar datas, horários e containers para saída no console
- Escrever código C++ portátil compatível com C++20 ou compiladores mais antigos
Tópicos
Perguntas frequentes
- O que é fmt?
- Uma biblioteca de formatação para C++ que oferece uma alternativa rápida e segura quanto aos tipos a C stdio e iostreams, implementando std::format do C++20. {fmt} é uma biblioteca open source para C++ que formata texto e busca ser uma alternativa mais rápida e segura a C stdio e C++ iostreams. Ela usa uma sintaxe de strings de formatação semelhante à do Python e implementa as interfaces C++20 std::format e C++23 std::print, permitindo escrever código em um estilo familiar.
- fmt é gratuito? Qual é a licença?
- fmt é open source sob a licença MIT. Confira os termos da licença antes de usá-lo em produtos comerciais.
- fmt ainda é mantido?
- Manutenção ativa. O último commit de fmt foi em 18 de out. de 2026.
- Para que posso usar fmt?
- Substituir printf ou iostreams em código C++ sensível a desempenho Montar mensagens de log em bibliotecas como spdlog Formatar datas, horários e containers para saída no console Escrever código C++ portátil compatível com C++20 ou compiladores mais antigos
- Onde consigo fmt?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/fmtlib/fmt
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Editor hexadecimal multiplataforma para engenharia reversa e análise de arquivos binários, com uma linguagem de padrões para interpretar estruturas de arquivos.
Uma biblioteca de serialização multiplataforma que permite ler dados binários diretamente, sem precisar analisá-los ou descompactá-los antes.
Ferramenta visual gratuita e multiplataforma para criar, navegar, editar e consultar arquivos de banco de dados SQLite sem escrever SQL.
Um parser JSON em C++ que usa instruções SIMD para processar gigabytes de JSON por segundo com validação completa.
Editor de vídeo gratuito, de código aberto e multiplataforma, desenvolvido com Qt e o framework multimídia MLT.