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