Textdateien zeichenweise auslesen



  • Hallo,

    ich habe ein kleines Spiel programmiert und auch eine Bestenliste als Textdatei angelegt. Die Ergebnisse hab ich jetzt so abgespeichert.

    Frank;11-12-2011 12:15:47;11
    Dieter;11-12-2011 13:15:04;7

    So ich müsste jetzt nur bis zum Semikolon lesen und dann einfach die Werte in Variablen schreiben. Ich habe da an eine while-Schleife gedacht nur bin ich gerade am rätseln wie ich das umsetzen kann.

    Gruß Jim



  • Hi, folgendes sollte dir helfen 😉

    String ^dateiname = "datei.txt";
    FileStream ^fs = nullptr;
    StreamReader ^sr = nullptr;
    String ^zeile = "";
    array<Char> ^zeichen = {';'}; //Trennzeichen
    array<String^> ^daten;
    String^ benutzer;
    String^ zeit;
    String^ ergebnis;
    
    try
    	{
    	if(File::Exists(dateiname)) //wenn Datei vorhanden
    		{
    		fs = gcnew FileStream(dateiname, FileMode::Open, FileAccess::Read);
    		sr = gcnew StreamReader(fs);
    
    		while(sr->Peek() != -1) //Datei bis zum Ende einlesen
    			{
    			zeile = sr->ReadLine();
    			daten = zeile->Split(zeichen);
    
    			benutzer = daten[0]; 
    			zeit = daten[1]; 
    			ergebnis = daten[2]; 
    			}
    		}
    
    	else //wenn Datei nicht existiert
    		{
    		//...
    		}
         }
    	catch(Exception ^e)
    		{
    		MessageBox::Show("Fehler beim Lesen der Datei\n\n\r" + e->Message);
    		}
    	finally
    		{
    		if(sr)
    			sr->Close();
    		}
    


  • Hallo,

    danke für die schnelle Antwort genau das was ich gesucht habe 🙂

    Gruß Jim


Anmelden zum Antworten