An Textdatei anhängen, statt überschreiben ?
-
Hallo,
ich habe ein CStdioFile und schreibe dort mittels WriteString zeilenweise Text in eine Datei. Nun würde ich gerne die Option bieten daß man auch was anhängen kann, anstatt die Datei zu überschreiben.
Leider habe ich bei CStdioFile nix passendes gefunden, und die SeekToEnd Methode von CFile klappt bei mir auch nicht (außerdem schreibt der dann die \0 mit ins File).

Geht das überhaupt mit CStdioFile und wenn nicht, muß ich bei CFile::SeekToEnd nacj jedem Write wieder neu den Pointer setzen (und größe einlesen) ?
Thx
Ray
-
Schau dir mal an wie man das mit Standard C++ macht, also of- if- und fstream.
http://c-plusplus.net/forum/viewtopic.php?t=39469Devil
-
Hi,
versuch mal zusätzlich
CStdioFile::modeNoTruncate
als FlagGrüße Rapha
-
Hi Rapha,
ich habs jetzt hinbekommen
Mit dem Notrace und einer abfrage ob er denn nun appenden will oder nicht. Das Notrace hängt wohl IMMER was dran so mit mußte ich die FileLänge auf 0 setzen wenn er doch nicht appenden will. Klappt ganz gut...naja wenn ich früher gewußt hätte das die CFile Memebrs auch für CStdioFile gilt hätt ich es wohl auch so geschafft 
@Rapha: Hast Du meine eMail erhalten ?
thx
ray
-
Hallo,
ich war der Meinung, zum dranhängen ist noch ein fDatei.SeekToEnd();
notwendig.
Beipiel:fDatei.Open(pfadname , CFile::modeWrite | CFile::modeCreate | CFile::modeNoTruncate);
fDatei.SeekToEnd();
fDatei.WriteString("hallo\n");
-
Hi,
ja genau , ist bei mir auch so. Ich öffne also immer mit ::doNotruncate und wenn Append dann noch zusätzlich ..SeektoEnd() ansonsten SetLength(0)..zumindest funktionierts hier

ray