Johnny
2004-09-05, 12:09:17
Hi all,
Ich habe folgendes Problem: ich möchte eine Textdatei mit fstream auslesen und zum selben Zeitpunkt auch ändern. Das sieht so aus:
fstream f("betrieb.txt");
f.seekg(0, ios::beg); //setzt den cursor am anfang der datei
while(f.good())
{
f>>zeile; //liest einen string bis zum nächsten leerzeichen ein
if(zeile==Edit1->Text.c_str())
{
f>>zeile;
f<<Edit2->Text.c_str(); //schreibt einen inhalt in die datei
f>>zeile;
f<<Edit3->Text.c_str();
}
}
Dieses funktioniert aber nicht, da die Inputaktionen (z.B. f<<Edit3->Text.c_str();) nicht ausgeführt werden. Nach langem rumprobieren habe ich festgestellt, dass Input- und Outputaktionen im selben Ereignis nicht ausgeführt werden können, z.B. wenn ich die Outputbefehle ausklammere, wird die Datei wie gewünscht beschrieben. Also, was meint ihr wie ich das lösen kann und wiso meins nicht funktioniert. Danke!
Ich habe folgendes Problem: ich möchte eine Textdatei mit fstream auslesen und zum selben Zeitpunkt auch ändern. Das sieht so aus:
fstream f("betrieb.txt");
f.seekg(0, ios::beg); //setzt den cursor am anfang der datei
while(f.good())
{
f>>zeile; //liest einen string bis zum nächsten leerzeichen ein
if(zeile==Edit1->Text.c_str())
{
f>>zeile;
f<<Edit2->Text.c_str(); //schreibt einen inhalt in die datei
f>>zeile;
f<<Edit3->Text.c_str();
}
}
Dieses funktioniert aber nicht, da die Inputaktionen (z.B. f<<Edit3->Text.c_str();) nicht ausgeführt werden. Nach langem rumprobieren habe ich festgestellt, dass Input- und Outputaktionen im selben Ereignis nicht ausgeführt werden können, z.B. wenn ich die Outputbefehle ausklammere, wird die Datei wie gewünscht beschrieben. Also, was meint ihr wie ich das lösen kann und wiso meins nicht funktioniert. Danke!