C++:
Työskentely TOML:n kanssa
Kuinka:
Työskennellessäsi TOMLin kanssa C++:ssa, tarvitset kirjaston kuten toml++
. Tässä nopea aloitus:
#include <toml++/toml.h>
#include <iostream>
#include <fstream>
int main() {
// Jäsentää TOMLin tiedostosta
std::ifstream ifs("config.toml");
auto config = toml::parse(ifs);
// Arvon käyttäminen
std::string title = config["title"].value_or("Nimeämätön");
std::cout << "Otsikko: " << title << '\n';
// Muokkaa ja tallenna TOML
config["title"] = "Uusi Otsikko";
std::ofstream ofs("config.toml");
ofs << config;
}
Esimerkki config.toml
:
title = "Esimerkki"
Esimerkkituloste:
Otsikko: Esimerkki
Syväsukellus
TOMLin loi Tom Preston-Werner vuonna 2013 vaihtoehtona YAMLille ja JSONille. Se on suunniteltu yksinkertaiseksi ja eksplisiittiseksi, pääasiassa konfiguraatiotiedostoja varten. Toisin kuin JSON, TOML keskittyy olemaan epäselvyydetön, mikä tarkoittaa, että asiakirjan jäsentäminen on determinististä.
Vaihtoehtoja TOMLille ovat YAML, joka on sallivampi siinä, mitä se sallii, joskus kuitenkin ennustettavuuden kustannuksella. Toinen vaihtoehto, JSON, on rakenteeltaan melko tiukka, mutta ei yhtä ihmisystävällinen konfiguraatioissa kommenttien puutteen ja aaltosulkujen intensiivisen syntaksin vuoksi.
Toteutuksessa toml++
on header-only C++17 kirjasto, joka noudattaa uusinta TOML-spesifikaatiota. Se tarjoaa DOM-tyyppisen käyttöliittymän TOML-datan navigointiin ja manipulointiin, mikä tekee siitä suoraviivaista integroida projekteihin. Kirjasto huolehtii jäsentämisestä, validoinnista ja tulostuksen generoinnista, mahdollistaen sinun hakea ja asettaa TOML-dataa käyttäen C++ tyyppejä.
Katso Myös
- TOML GitHub varasto: https://github.com/toml-lang/toml
toml++
, C++ kirjasto TOMLille: https://github.com/marzer/tomlplusplus- Virallinen TOML dokumentaatio, jossa yksityiskohtaiset selitykset formaatista: https://toml.io/en/