Datei Überschreiben?

athlon

Mitglied
Frage: Wie kann ich eine Datei überschreiben?

Code:
CFile datei( name, CFile::modeReadWrite);
		datei.Write(neu, neu.GetLength() );
		datei.Close();

Wenn ich das so mache dann hängt der das immer ans ende der Datei.
Ich möchte aber dass er die Datei von anfang an neu beschreibt bzw. sie vorher leert. Wie geht das?

edit:
bin selbst draufgekommen:
erst datei löschen und dann neu erstellen :-D
 
Zuletzt bearbeitet:
Entweder das, oder CFile::modeCreate verwenden.

Steht alles in der MSDN.
 
Hallo zusammen,

ich benutze CopyFile() um DLLs zu kopieren und übergebe false, damit diese, falls vorhanden, überschrieben wird.
Wenn die vorhandene DLL jedoch schreibgeschützt ist, schlägt die Methode fehl...
Wie kann ich die Datei dennoch überschrieben? Vorher löschen? Gibts beim Löschen dann nicht den gleichen Fehler, aufgrund des Schreibschutzes?

Dank im vorraus und Grüße vom
RuFF
 
Deine Annahme ist schon richtig: Bei schreibgeschützten Dateien klappt auch das Löschen nicht. Man kann aber mit SetFileAttributes() den Schreibschutz aufheben, und dann Kopieren/Verschieben/Löschen etc..

Gruß
MCoder
 
Hallöchen,
danke für die schnelle Antwort!
Aber da ich ein sehr ungeduldiger Mensch bin und nicht damit gerechnet hab hier soooooo schnell eine Antwort zu bekommen, hab ich mir den MSDOS Befehl rausgesucht und setzte es via CreateProcess^^
Da gibts nur das Problem daß ich immer zu erst -H und dann erst -R übergeben muss, da wenn die Datei versteckt UND schreibgeschützt ist kann man mit -R den Schreibschutz nicht aufheben...

Es getz so werde aber die deinige Funktion einbaun...Ist kürzer und ist denk ich mal sicherer, oder?
Danke nochmal das waren grad mal knapp 10 min. die du benötigt hast zum antworten ;)))

MFG
RuFF
 

Neue Beiträge

Zurück