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: " << title << '\n';

    // שינוי ושמירת TOML
    config["title"] = "New Title";
    std::ofstream ofs("config.toml");
    ofs << config;
}

דוגמת config.toml:

title = "Example"

פלט לדוגמא:

Title: Example

עיון נוסף

TOML נוצר על ידי טום פרסטון-וורנר ב-2013 כחלופה ל-YAML ול-JSON. הוא תוכנן להיות פשוט ומפורש, בעיקר עבור קבצי קונפיגורציה. בניגוד ל-JSON, TOML מתמקד בלהיות חד-משמעי, כלומר הוא דטרמיניסטי באופן פרסום המסמך.

חלופות ל-TOML כוללות את YAML, שהיא יותר רחבת אפשרויות במה שמותר, לעיתים על חשבון הניבויות. JSON, חלופה נוספת, היא די נוקשה במבנה אך לא כל כך ידידותית לאנוש בתצורות מכיוון שאין אפשרות להערות והתחביר שלה מלא בסוגריים מסולסלים.

בביצוע, toml++ היא ספרייה של C++17 המכילה רק כותרות אשר מתאימה למפרט TOML האחרון. היא מספקת ממשק דומה ל-DOM לניווט ולשינוי נתוני TOML, מה שהופך אותה לפשוטה לשילוב בפרויקטים. הספרייה דואגת לעיבוד, אימות וייצור הפלט, מה שמאפשר לך לקבל ולהגדיר נתוני TOML באמצעות סוגים של C++.

ראו גם