Una biblioteca header-only para C++11 que permite analizar, crear, manipular y serializar JSON con una sintaxis similar a la de STL.
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
Editor hexadecimal multiplataforma para ingeniería inversa y análisis binario, con un lenguaje de patrones para interpretar estructuras de archivos.
Una biblioteca de serialización multiplataforma que permite leer datos binarios directamente, sin analizarlos ni desempaquetarlos antes.
Herramienta visual gratuita y multiplataforma para crear, explorar, editar y consultar archivos de bases de datos SQLite sin escribir SQL.
Un parser JSON para C++ que usa instrucciones SIMD para procesar gigabytes de JSON por segundo con validación completa.
Editor de video gratuito y de código abierto, multiplataforma y creado con Qt y el framework multimedia MLT.