C / stdio.h / freopen
clearerr, fclose, feof, ferror, fflush, fgetc, fgetpos, fgets, fopen, fprintf, fputc, fputs, fread, » freopen, fscanf, fseek, fsetpos, ftell, fwrite, getc, getcha, gets, perror, printf, putc, putchar, puts, remove, rename, rewind, scanf, setbuf, setvbuf, sprintf, sscanf, tmpfile, tmpnam, ungetc, vfprintf, vprintf, vsprintf,
Funcion: freopen()
Sintaxis:
FILE *freopen(const char *nombre, const char *modo, FILE *stream);

Descripcion: Abre un fichero cuyo nombre es la cadena apuntada por nombre y adjudica un stream a ello apuntado por stream. El argumento modo es usado tal como en la función fopen.

La función freopen primeramente intenta cerrar cualquier fichero que es asociado con el stream especificado. El error de no cerrar el fichero con éxito es ignorado. Los indicadores de error y final de fichero EOF) para el stream son borrados.


Ejemplo:
#include <stdio.h>
 
int main()
{
   FILE *fichero;
   char nombre[10] = "datos.dat";
 
   fichero = fopen( nombre, "w" );
   printf( "Fichero: %s (para escritura) -> ", nombre );
   if( fichero )
      printf( "creado (ABIERTO)\n" );
   else
   {
      printf( "Error (NO ABIERTO)\n" );
      return 1;
   }
 
   printf( "Fichero: %s (para lectura) -> ", nombre );
   if( freopen(nombre, "r", fichero) == NULL )
   {
      printf( "Error (NO ABIERTO)\n" );
      return 1;
   }
   else   printf( "listo para leer (ABIERTO)\n" );
 
   if( !fclose(fichero) )
      printf( "Fichero cerrado\n" );
   else
   {
      printf( "Error: fichero NO CERRADO\n" );
      return 1;
   }
 
   return 0;
}

Librerias C

Librerias ANSI C
   string.hcstring
   math.hcmath
   stdio.hcstdio
   time.hctime
   stdlib.hcstdlib
   ctype.hcctype
   locale.hclocale
   signal.hcsignal
   setjmp.hcsetjmp

Librerias Borland
   conio.h
   graphics.h