Zeilenweise Lesen / Scheiben



  • Ich weiß das diese Frage schon oft gestellt wurde aber daraus werde ich ihrgendwie nicht schlau . Also ich habe eine datei , zb. Test.txt und jetzt möchte ich in der Datei mehrere Informationen verwalten , in verschiedenen Zeilen . Jetzt möchte ich in die erste 123 und in die zweite 456 schreiben und es dann Zeilenweise wiederauslesen . In den vorherigen Fragen , hier im Forum ,hieß es das das am besten mit fstream (Kein Mfc) ginge aber das kappt auch ihrgenwie nicht .

    [ Dieser Beitrag wurde am 12.04.2003 um 12:35 Uhr von darktown2 editiert. ]



  • //Schreiben (mit CStdioFile):

    CStdioFile File;
    CString Name_der_Datei = "C:\\text.txt";
    CStringArray Dein_Text;  //hier steht der Text drin, der in die Datei geschrieben werden soll
    
    File.Remove(Name_der_Datei);
    
    File.Open(Name_der_Datei, CStdioFile::modeCreate | CStdioFile::modeWrite);
    for (int i=0; i<Dein_Text.GetSize(); i++)
    {
      if (i > 0) File.WriteString("\n"+Dein_Text.GetAt(i));
      //Zeilenwechsel soll ausgegeben werden, wenn es sich nicht um erste Zeile handelt
    
      else File.WriteString(Dein_Text.GetAt(i));
    }
    File.Close();
    

    ---------------------------------------------------------------

    Lesen(mit fstream):

    /*Dies gehört zu den include -Anweisungen der .cpp-Datei, in der Du diese Lese-Prozedur verwenden willst*/
    
    #include <fstream>
    #include <string>
    
    using namespace std;
    
    /*Hier ist der include-Kram fertig*/
    
    string cZeile;   // Textzeile als Datentyp string
    fstream Datei;   // Dateiobjekt erstellen
    CString Name_der_Datei = "C:\\text.txt";
    
    Datei.open(Name_der_Datei,ios::in);   // Datei lesend öffnen
    for (int i = 0; getline(Datei, cZeile); i++)   // Zeilen bis Dateiende auslesen
    {
      //Eingelesene Zeile verarbeiten, zum Testen z.B. in einer MessageBox ausgeben
      // Achtung, die MessageBox erwartet CStrings
    }
    Datei.close();
    

    P.S.: So, nach 5mal editieren müsste es jetzt aber stimmen 🙂

    [ Dieser Beitrag wurde am 12.04.2003 um 13:24 Uhr von Lord Hessia editiert. ]



  • danke für die Hilfe


Anmelden zum Antworten