C++:
Trabajando con TOML
Cómo hacerlo:
Para trabajar con TOML en C++, necesitarás una biblioteca como toml++
. Aquí tienes una guía rápida:
#include <toml++/toml.h>
#include <iostream>
#include <fstream>
int main() {
// Analiza TOML desde un archivo
std::ifstream ifs("config.toml");
auto config = toml::parse(ifs);
// Accediendo a un valor
std::string title = config["title"].value_or("Sin título");
std::cout << "Título: " << title << '\n';
// Modificar y guardar TOML
config["title"] = "Nuevo Título";
std::ofstream ofs("config.toml");
ofs << config;
}
Ejemplo config.toml
:
title = "Ejemplo"
Salida de ejemplo:
Título: Ejemplo
Profundización
TOML fue creado por Tom Preston-Werner en 2013 como una alternativa a YAML y JSON. Está diseñado para ser simple y explícito, principalmente para archivos de configuración. A diferencia de JSON, TOML se enfoca en ser no ambiguo, lo que significa que es determinista en cómo se analiza el documento.
Las alternativas a TOML incluyen YAML, que es más permisivo en lo que se permite, aunque a veces a costa de previsibilidad. JSON, otra alternativa, es bastante estricto en estructura pero no tan amigable para los humanos en configuraciones debido a la falta de comentarios y su sintaxis llena de llaves.
En implementación, toml++
es una biblioteca C++17 solo de encabezado que cumple con la última especificación de TOML. Proporciona una interfaz tipo DOM para navegar y manipular datos TOML, lo que hace que sea sencillo integrarlo en proyectos. La biblioteca se encarga del análisis, validación y generación de salida, permitiéndote obtener y establecer datos TOML usando tipos de C++.
Vea También
- El repositorio de GitHub de TOML: https://github.com/toml-lang/toml
toml++
, una biblioteca C++ para TOML: https://github.com/marzer/tomlplusplus- La documentación oficial de TOML con explicaciones detalladas del formato: https://toml.io/es/