Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » File öffnen, weitere Zeilen hineinschreiben??

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
14.08.2004, 18:03 Uhr
~anhtu
Gast


Hallo zusammen,

möchte folgende Schritte implementieren:
1. File myfile erstellen
2. Zeilen hineinschreiben
3. myfile schliessen
4. ... weitere Berechnungen
5. myfile öffnen
6. weitere Zeilen hinzufügen

Kann mir jemand helfen? Habe bis jetzt Schritte 1-3 geschafft:

// file erstellen
CStdioFile *file = new CStdioFile( "myfile.txt" , CFile::modeCreate | CFile::modeWrite | CFile::typeText );

// Zeile schreiben
CString myline = "hallo welt!";
file->WriteString(line);

// file schließen
file->Close();

Soo.. Wie stelle ich das nun an, irgendwann an einer späteren Stelle, weitere Zeilen in diese Datei (angehängt an die vorherigen) zu schreiben?? Ich muss doch irgendwie an das Ende der Textdatei (myfile) springen, oder?

Bin Anfänger, deshalb schon mal vielen Dank für alle kommenden Antworten!!

Anh Tu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
14.08.2004, 18:18 Uhr
virtual
Sexiest Bit alive
(Operator)


Hallo,

die von dir benutzten Klassen CStdioFile sind kein ISO C++, daher kann ich Dir nicht im Detail Helfen. Allerdings gibt es vermutlich auch dort einen append-Mode der Bewrikt, daß wenn Du die Datei erneut öffnest nicht die Datei gelöscht wird, sondern am Ende weiter geschrieben wird.
Ich würde mal die Hilfe zu CStdioFile consultieren und dort nach den verschiedenen Modes ausschau halten...
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
14.08.2004, 18:59 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
// file erstellen
CStdioFile *file = new CStdioFile( "myfile.txt" , CFile::modeCreate | CFile::modeWrite | CFile::typeText );

// Zeile schreiben
CString myline = "hallo welt!";
file->WriteString(line);

// file schließen
file->Close();

// weitere Berechnungen

file->Open("myfile.txt", CFile::modeCreate | CFile::modeWrite | CFile::modeNoTruncate | CFile::typeText );

// weitere Zeile schreiben
myline = "hallo welt!";
file->WriteString(line);

// file schließen
file->Close();


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.08.2004, 03:42 Uhr
~anhtu
Gast


Hallo zusammen,

erst einmal vielen Dank für die Antworten. Leider funktioniert das immer noch nicht so, wie ich es gerne hätte. Das Öffnen einer bereits vorhandenen Textdatei klappt, allerdings werden keine weiteren Zeilen am Ende hinzugefügt.

Dumm ist nur, dass ich auch keine Fehlermeldung bekomme. So ungefähr sieht mein Code aus. Wisst Ihr, woran das liegen könnte?
[cpp]
// file öffnen
CStdioFile *file = new CStdioFile( "myfile.txt" , CFile::modeCreate | CFile::modeReadWrite | CFile::modeNoTruncate | CFile::typeText );

// das Ende suchen
bool eof = file->ReadString(Line);
while (eof) eof = file->ReadString(Line);

// weiter Zeilen hinzufügen
newline = "Das ist eine neue Zeile";
file->WriteString(newline);[/]

Wie gesagt, öffnen geht, nachdem der Code durchgelaufen ist, habe ich aber keine weiteren Zeilen in besagter Textdatei? Hat jemand eine Idee? Muss auch nicht in dieser Form sein, in C++ gibt es ja anscheinend 1001 Möglichkeiten für ein Problem. Schon mal vielen Dank für alle kommenden Antworten..

Anh Tu
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.08.2004, 08:39 Uhr
Tommix



Hallo,

C++:
//... öffnen
file->SeekToEnd();
//... schreiben...


Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
15.08.2004, 15:50 Uhr
~anhtu
Gast


Hallo Tommix,

cool!! Es funktioniert. Mann, bin ich happy. Vielen Dank!!


Zitat von Tommix:
Hallo,

C++:
//... öffnen
file->SeekToEnd();
//... schreiben...


Gruß, Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: