ANSI C: Inhalt einer Textdatei löschen?

Tensi

Mitglied
Hallo!

Ich stehe wiedermal vor einem Problem:
ich möchte den Inhalt einer Textdatei
komplett löschen oder wenn das nicht möglich
ist, die ganze Datei löschen und ohne Inhalt
wieder erstellen ... und das ganze mit ANSI C ...

Vielen Dank für Eure Hilfe!!!
 
Code:
#include <stdio.h>

#define FileName "test.dat"

int main(int argc, char **argv)
{
	FILE *pFile;

	pFile = fopen(FileName, "w");

	if(pFile != NULL)
	{
		fwrite(NULL, 0, 0, pFile);
		fclose(pFile);
	}

	return 0;
}

so wird die datei "test.dat" 0 bytes haben...
 
Vielen Dank!

So hätte ich mir das auch schon gedacht,
war aber dann der Meinung das die Datei mit
Nullen aufgefüllt wird.
Aber NULL steht dann für "nichts", oder?!

Nochmals vielen Dank!!!
 
Stimmt NULL steht für "nichts".
Wobei man sich in diesem Fall das fwrite() sparen kann, denn der fopen() macht die Datei schon leer.

Gruss Homer
 
ja daran habe ich grad nicht gedacht, das ich sie nicht zum lesen sondern zum schreiben öffne... und wenn sie dann geöffnet werden kann, wird sie auch gleich "geleert"...
ich weiss auch nicht wieso ich das vergessen hab... ich dachte eigentlich daran die datei zum lesen zu öffnen, da wird sie logischer weise nicht auf 0 gesetzt... dummer weise kann man aber auch in eine datei nichts schreiben, wenn sie zum lesen geöffnet wurde.... bin irgendwie grade verwirrt :)
 
Zurück