C++:
Робота з TOML
Як:
Щоб працювати з TOML у C++, вам знадобиться бібліотека, така як toml++
. Ось швидкий старт:
#include <toml++/toml.h>
#include <iostream>
#include <fstream>
int main() {
// Розбір TOML з файлу
std::ifstream ifs("config.toml");
auto config = toml::parse(ifs);
// Доступ до значення
std::string title = config["title"].value_or("Untitled");
std::cout << "Назва: " << title << '\n';
// Змінити і зберегти TOML
config["title"] = "Нова назва";
std::ofstream ofs("config.toml");
ofs << config;
}
Зразок config.toml
:
title = "Приклад"
Зразок виводу:
Назва: Приклад
Поглиблене вивчення
TOML було створено Томом Престон-Вернером у 2013 році як альтернативу YAML і JSON. Воно розроблено бути простим і однозначним, головним чином для файлів конфігурації. На відміну від JSON, TOML зосереджується на тому, щоб бути недвозначним, що означає детермінований спосіб аналізу документа.
Альтернативи TOML включають YAML, який є більш дозволяльним у тому, що допускається, хоча іноді це може коштувати передбачуваності. JSON, інша альтернатива, досить строгий у структурі, але не так зручний для людини для конфігурацій через відсутність коментарів та його складний синтаксис із використанням дужок.
У впровадженні, toml++
- це бібліотека C++17, яка складається тільки з заголовочних файлів і відповідає останній специфікації TOML. Вона надає інтерфейс, схожий на DOM, для перегляду та маніпулювання даними TOML, що робить її легкою для інтеграції в проєкти. Бібліотека бере на себе аналіз, валідацію та генерацію виводу, дозволяючи вам отримувати та встановлювати дані TOML, використовуючи типи C++.
Див. також
- Репозиторій TOML на GitHub: https://github.com/toml-lang/toml
toml++
, бібліотека C++ для TOML: https://github.com/marzer/tomlplusplus- Офіційна документація TOML з детальними поясненнями формату: https://toml.io/en/