Repolode
fmtlib

fmtlib/fmt

Una biblioteca de formato para C++ rápida y segura en cuanto a tipos, alternativa a C stdio e iostreams, que implementa std::format de C++20.

Estrellas
25,887
Forks
3,089
Issues abiertos
16
Último commit
hace 3 días

¿Qué es?

{fmt} es una biblioteca de código abierto para C++ que permite dar formato a texto y busca ser una alternativa más rápida y segura a C stdio y a los iostreams de C++. Usa una sintaxis de cadenas de formato similar a la de Python e implementa las interfaces std::format de C++20 y std::print de C++23, por lo que permite escribir código con un estilo familiar.

La biblioteca comprueba las cadenas de formato en tiempo de compilación, así que errores como aplicar un especificador no válido a una cadena se notifican como errores de compilación. También ofrece una API compatible con printf, formato para fechas y horas de chrono, contenedores y rangos, salida en color en la terminal y un formateador de números de punto flotante basado en el algoritmo Dragonbox. Los usuarios pueden añadir compatibilidad con sus propios tipos.

{fmt} no tiene dependencias externas y está disponible como un pequeño conjunto de headers o como una compilación header-only. Cuenta con licencia MIT y lo usan proyectos como ClickHouse, MongoDB, PyTorch y spdlog.

Funciones clave

  • 01Sintaxis de cadenas de formato al estilo de Python con argumentos posicionales
  • 02Implementa std::format de C++20 y std::print de C++23
  • 03Comprobación de cadenas de formato en tiempo de compilación
  • 04Formato rápido de números de punto flotante mediante el algoritmo Dragonbox
  • 05Compatibilidad con el formato de chrono, rangos y contenedores
  • 06Modo header-only sin dependencias externas

Casos de uso

  • Sustituir printf o iostreams en código C++ donde el rendimiento es importante
  • Crear mensajes de log en bibliotecas como spdlog
  • Dar formato a fechas, horas y contenedores para la salida por consola
  • Escribir código C++ portable compatible con C++20 o con compiladores anteriores

Temas

Preguntas frecuentes

¿Qué es fmt?
Una biblioteca de formato para C++ rápida y segura en cuanto a tipos, alternativa a C stdio e iostreams, que implementa std::format de C++20. {fmt} es una biblioteca de código abierto para C++ que permite dar formato a texto y busca ser una alternativa más rápida y segura a C stdio y a los iostreams de C++. Usa una sintaxis de cadenas de formato similar a la de Python e implementa las interfaces std::format de C++20 y std::print de C++23, por lo que permite escribir código con un estilo familiar.
¿fmt es gratuito? ¿Qué licencia tiene?
fmt es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿fmt sigue mantenido?
Mantenimiento activo. El último commit de fmt fue el 18 oct 2026.
¿Para qué puedo usar fmt?
Sustituir printf o iostreams en código C++ donde el rendimiento es importante Crear mensajes de log en bibliotecas como spdlog Dar formato a fechas, horas y contenedores para la salida por consola Escribir código C++ portable compatible con C++20 o con compiladores anteriores
¿Dónde consigo fmt?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/fmtlib/fmt

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados