Array mit key-value vollständig in text-file schreiben
-
Hallo werte Community,
ich hoffe mir kann hier jemand bei folgendem Problem helfe.Ich möchte Einstellungen, die ein User über ein Interface eingeben kann, in ein text-file schreiben, wo sie auch wieder abgerufen werden könne.
Die Einstellungen, die der User trifft, sind in einem Array gespeichert per key-value (also kein Standardindex).
Hier mein Code:
#include <fstream> #include <string> // using directive using namespace std; string newColour; cin >> newColour; // example 0F currSettings["colour"] = newColour; string currSettings[]; // this array still includes data (specific key and value) int elemntNumber = sizeof(currSettings) / sizeof(currSettings[newColour]); // number of array included elements ofstream newSettings("settings.txt", ios::app); for(int i = 0; i < elemntNumber; i++) newSettings << "colour" << currSettings["colour"] << endl; newSettings.close();
HINWEIS: Bitte gebt nichts auf Rechtschreibfehler oder fehlende Semikolon. Es geht mir hauptsächlich um Zeile 16 und 17 (for-Schleife) bzw. nur um Zeile 17 (Schreiben der Daten in text-file).
So könnte der Inhalt des Arrays currSettings aussehen:
// example of currSettings[] string currSettings[] = { "colour" => "0F", "width" => "1000", "height" => "300", "title" => "Project" }
Wie kann ich es nun bewerkstelligen, dieses Array in ein text-file zu schreiben, da Zeile 17 oben sehr offensichtlich falsch ist, da es immer die selbe Info in das file schreibt.
Vielen Dank schon einmal.
Gruß. Train.
-
Fragen sind diese Dinger mit dem '?' hinten dran.
-
Train schrieb:
Die Einstellungen, die der User trifft, sind in einem Array gespeichert per key-value (also kein Standardindex).
Nein.
Diese Art "dictionary"-Array gibt es in C++ nicht in dieser Form.
Was du vermutlich meinst, sind Hashmaps (std::unordered_map
), abermanni66 schrieb:
Fragen sind diese Dinger mit dem '?' hinten dran.
-
so könnte es aussehen:
for (auto && entry: dict) { string const& key = entry.first; string const& value = entry.second; output << key << "=" << value << '\n'; }