#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>

enum{ERROR=-1,SUCCESS};


int main()
{
 int FH;      /*Filehandle*/
 long size;   /*Länge des Textes in Bytes*/
 int i;
 char *puffer;  /*Puffer für size*'\0' */

 if( (FH=open("meinchef.txt", O_WRONLY)) == ERROR)
  {
   fprintf(stderr, "Fehler bei open......\n");
   exit(0);
  }
 /*Schreibzeiger auf EOF; Ergebnis in size*/
 size=lseek(FH, 0L, SEEK_END);
 /*Schreibzeiger wieder ganz zum Anfang*/
 lseek(FH, 0L, SEEK_SET);

 /*Speicher für size Bytes reservieren....*/
 if((puffer=(char *)(malloc(sizeof(size)))) == NULL)
  {
   fprintf(stderr, "Fehler bei malloc......\n");
   exit(0);
  }

 /*Kompletten puffer mit '\0' belegen*/
 for(i=0; i<size; i++)
   puffer[i]='\0';

 /*size '\0' Bytes in FH schreiben*/
 if(write(FH, puffer, size) != size)
   fprintf(stderr, "Fehler bei write.......\n");

 /*Und jetzt entfernen wir die Datei, oder besser */
 /* wir löschen den Namen und geben die Blöcke frei*/
 unlink("meinchef.txt");

 return 0;
}