C++ Werte von File in Variablen syncronisieren

T_55

Lieutenant
Registriert
Feb. 2013
Beiträge
643
Hallo,

wie könnte man denn eine Liste mit Variablennamen+Wert in einer textfile in die entsprechenden Programm-Variablen syncronisieren? Man könnte so dem Programm beim Start vordefinierte Files mit entsprechenden Werten übergeben mit dem es ausgeführt werden soll.

Zum Beispiel Liste in textfile:
variable1=10
variable2=10.55
variable3=100
variable4=1.99
usw

und dann Variablen in Programm:
int variable1;
double variable2;
int variable3;
double variable4;
usw

Kann man die Variablen irgendwie anhand des Variablennamens auf Übereinstimmung abgleichen? So könnte man auch Fehler umgehen zum Beispiel wenn ein nicht aktuelles File mit anderer Anzahl an Variablen geladen wird wo es nicht zu jeder Variable eine File-Vorgabe gibt oder umgekehrt.

Gruß
 
Leider unterstützt c++ keine reflections und somit kommst du programmatisch nicht an variablennahmen ran. Was du machen kannst, ist Konfigurationsvariablen z.B. In einer `std::unordered_map` mit dem Namen als Schlüssel zu speichern.
 
Boost Serialization kann nicht nur binär sondern auch lesbar als text oder sogar als XML seine Daten ablegen. Diese Dateien kannst du dann natürlich auch mit anderen Programmen verändern. Außerdem kann dein C++ Programm diese Datei beliebig lesen und schreiben.
Hier musst du natürlich generell verhindern, dass gerade jemand eine Datei verändert während dein Programm ließt oder schreibt - aber das Problem hast du in jeder Sprache und mit jeder Lib.
Alternativ gibts das auch von Qt.
 
Um es kurz zu machen: Es gibt haufenweise Bibliotheken die du nutzen kannst um Konfigurationsdateien zu lesen und zu schreiben. Hier hilft google ;)
 
Super danke, der Begriff "Konfigurationsdatei" hatte mir einfach gefehlt. Die Map Idee ist effektiv und einfach, damit versuch ich es erstmal
 
Zurück
Oben