Parameterdatei einlesen



  • Hallihallo,

    nehmen wir an ich habe eine inidatei in welcher ein eintrag und dann der wert folgt.
    "
    A: AT
    B: BT
    "
    jetzt weiss ich aber nicht die reihenfolge, ergo müsste ich zeilenweise einlesen und mit if/if else/else herausfinden was ich gerad einlese und dann den wert irgendwohin zuweisen.

    gibt es einen schöneren weg als dieses ständige if/if else/else?

    MfG
    Bara



  • Dein Format ist aber kein iniformat.
    Ich würde die Werte einfach in eine std::map packen, dann liest du die Datei auf einen Rutsch ein, und greifst auf die Werte über die map zu. Das geht komplett ohne if/else



  • .ini Datei - ist das im Zusammenhang mit Windows?
    Dann schau in die WinAPI oder wo auch immer bei Mircosoft die Unterstützung zum lesen und bearbeiten von .ini Files von denen versteckt ist. Das MSDN sollte Infos dazu bereitstellen.

    Ich verstehe zwar nicht ganz worauf du hinaus willst:
    Alternativen zu if/if else/else
    z.B. switch - case

    eventuell sind auch Container für dein Vorhaben zu nutzen

    MfG f.-th.



  • f.-th. schrieb:

    .ini Datei - ist das im Zusammenhang mit Windows?
    Dann schau in die WinAPI oder wo auch immer bei Mircosoft die Unterstützung zum lesen und bearbeiten von .ini Files von denen versteckt ist.

    Ini hat nix mit Windows zu tun. Deshalb würde ich da auch keine WinAPI-Funktionen (wenn es die gibt) verwenden, sondern einen eigenen Parser schreiben, oder eben gleich boost::property_tree verwenden.



  • DU hast den Parameter A und hast eine Liste der Form Key:Value. Dann kannst du deine Datei in eine Liste Laden und den Wert per Key ansprechen, vorausgesetzt der Key ist eindeutig. 😉



  • alles klar.

    std::map werd ich mir da mal ansehen. klingt vernünftig.
    boost::property_tree kenn ich nicht, aber werde ich mir auch ansehen. hab noch nie was mit boost gemacht. is denke ich auch schwer da aus der kalten nen einstieg zu finden, aber das wird schon.

    danke an alle erstmal.

    MfG
    Bara

    ps: hat nix mit winapi zu tun. ich nehm zwar visual studio aber versuch mich an den standard und portable bibliotheken zu halten.


Anmelden zum Antworten