Textdatei auslesen und durchsuchen



  • Hallo Zusammen,

    ich hab eine Textdatei welche folgendermaßen aufgebaut ist:

    Name=Name1&Datum=07.04.2010&Wohnort=Ort1&Alter=40
    Name=Name2&Datum=06.04.2010&Wohnort=Ort2&Alter=45
    ...

    Nun möchte ich die Textdatei auslesen um die Werte in Variablen zu speichern, allerdings steh ich im Moment etwas auf dem Schlauch und weiß nicht wie ich das am besten anstellen könnte...

    Im möchte also beispielsweise die Textdatei auslesen und dann eine Variable Name mit dem Wert "Name1" speichern, usw.

    Hoffe es kann mir jemand weiterhelfen (am besten mit einem konkreten Codebeispiel). Falls noch etwas unklar sein sollte einfach nachfragen!

    Mit freundlichen Grüßen
    Everready


  • Mod

    Wo genau liegt dein Problem? Welche Ansätze hast du? Wo kommst du nicht weiter?

    Beim Auslesen? Schnapp dir ein Buch über die Grundlagen von C++, screib einen Ansatz und stell eine Frage warum du wo nicht weiterkommst.

    Du suchst eine geeignete Datenstruktur? Dazu musst du mehr Informationen anbieten. Stehen die Variablennamen (in deinem Beispiel Name, Datum, Wohnort, Alter) schon im voraus fest? Dann einer der sequentiellen Conteiner aus der STL, der ein entsprechendes struct speichert. Stehen diese Dinge erst zur Leaufzeit fest? Dann ein assoziativer Container wie map.



  • Hallo,
    Wenn die Variablennamen schon feststehen, kann man ihre Werte so einlesen:

    ifstream dat_ein; 
    dat_ein.open("Datei.txt",ios_base::in); 
    string name;
    string datum;
    string wohnort;
    string alter;
    
    for(int loop=0;loop<4;loop++)
    {
    	string temp;
    	getline(dat_ein,temp,'=');
    	if(temp=="Name")getline(dat_ein,name,'&');
    	else if(temp=="Datum")getline(dat_ein,datum,'&');
    	else if(temp=="Wohnort")getline(dat_ein,wohnort,'&');
    	else if(temp=="Alter")getline(dat_ein,alter,'&');
    }
    
    dat_ein.close();
    

    Die For-schleife wertet eine Zeile der Textdatei aus.
    die Werte der Variablen werden in den strings name, datum, wohnort und alter
    gespeichert. Wenn du das Alter gerne als Integer haben möchtest, könntest du einen string mit der Funktion atoi() in einen Integer umwandeln.

    Ich hoffe, ich konnte dir helfen.

    MfG, Jochen


Anmelden zum Antworten