# ANSI C: Inhalt einer Textdatei löschen?



## Tensi (11. Mai 2003)

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!!!


----------



## rook (11. Mai 2003)

```
#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...


----------



## Tensi (11. Mai 2003)

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!!!


----------



## Daniel Toplak (11. Mai 2003)

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


----------



## rook (11. Mai 2003)

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


----------

