Hallo
Wie sieht denn das Array konkret aus?
Noch sieht das Array so aus:
char tmp[255];
Und wie sehen die „separaten Variablen“ konkret
aus?
Genau genommen sehen die noch garnicht aus… sollen Char
Zeiger werden.
Aha. Dann würde ich einfach ein
assoziatives Array verwenden, da
kannst Du dann einfach über:
...
feld["MenuStyle"] = "set1";
...
oder so
...
string s1 = feld["MenuStyle"];
...
zugreifen. Man würde dazu eine sog. hash-Map
verwenden, das ist aber derzeit in C++ für
Anfänger zu undurchsichtig, daher besser
erstmal eine „normale“ std::map nehmen.
Dann würde ich eine extra-Funktion für
das Einlesen nehmen. Diese öffnet die
Datei und schreibt die Daten in das Feld,
z.B. so etwa (quick hack):
#include
#include
#include
#include
typedef std::map Map;
using namespace std;
bool einlesen\_von(const string& fname, Map& feld)
{
ifstream fh(fname.c\_str()); // Datei oeffnen
if(! fh) return false; // pruefen
string zeile; // zeilenweise einlesen
while(getline(fh, zeile)) {
size\_t pos = zeile.find(':'); // ':' suchen und Position merken
if(pos != string::npos) { // ist es drin? string::npos =\> nicht
feld[zeile.substr(0, pos)] = zeile.substr(pos+1); // eintragen
}
}
return true;
}
int main(int argc, char \*argv)
{
Map feld; // da kommt alles rein
einlesen\_von("daten.txt", feld); // und zwar hier
cout first " second
Grüße
CMБ