#include <stdio.h>

#ifdef _unix_
   #include <unistd.h>
#else
   #include <io.h>
#endif

int main()
{
    FILE *fz, *fz2;
    int fd,fd2;
    char datei[255];

    printf("Welche Datei wollen sie erzeugen: ");
    scanf("%s",datei);

    fz=fopen(datei, "w+");
    if(!fz)
      perror(NULL);
    fd = fileno(fz);
    printf("Der Filedeskriptor zur Datei %s lautet %d\n",datei,fd);

    fd2=dup(fd);

    printf("Der Filedeskriptor der kopiert wurde %d\n\n",fd2);

    printf("Wir wollen einen STREAM  oeffnen....\n");

    fz2 = fdopen(fd2, "w");
    if(!fz2)
      perror(NULL);

    fprintf(fz,"Dieser Text steht in %s\n",datei);
    fprintf(fz2,"Dieser Text steht auch in %s\n",datei);
    fprintf(stdout,"Es wurde etwas in die Datei %s geschrieben",datei);

    return 0;
}