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