C ++ freopen () - Biblioteca estándar de C ++

La función freopen () en C ++ intenta abrir un nuevo archivo con una secuencia de archivos que está asociada con otro archivo abierto.

La función freopen () se define en el archivo de encabezado.

prototipo de freopen ()

 ARCHIVO * freopen (const char * nombre de archivo, const char * modo, ARCHIVO * flujo);

La función freopen primero intenta cerrar el archivo abierto usando stream. Después de cerrar el archivo, intenta abrir el nombre de archivo especificado por el argumento nombre de archivo (si no es nulo) en el modo especificado por el modo de argumento. Finalmente, asocia el archivo con la secuencia de archivos.

Si el nombre de archivo es un puntero nulo, la función freopen () intenta volver a abrir el archivo que ya está asociado con la secuencia.

Parámetros de freopen ()

  • nombre de archivo: Nuevo archivo para abrir.
  • modo: Modo para abrir el archivo. Los diferentes tipos de modo de acceso a archivos son los siguientes:
Diferentes modos de operación de archivos
Modo de acceso a archivos Interpretación Si el archivo existe Si el archivo no existe
"r" Abre el archivo en modo lectura Leer desde el principio Error
"w" Abre el archivo en modo escritura Borrar todo el contenido Crear nuevo archivo
"un" Abre el archivo en modo anexar Empieza a escribir desde el final Crear nuevo archivo
"r +" Abre el archivo en modo lectura y escritura Leer desde el principio Error
"w +" Abre el archivo en modo lectura y escritura Borrar todo el contenido Crear nuevo archivo
"a +" Abre el archivo en modo lectura y escritura Empieza a escribir desde el final Crear nuevo archivo
  • secuencia: la secuencia de archivo para asociar el nombre de archivo.

freopen () Valor de retorno

La función freopen () devuelve:

  • fluir sobre el éxito.
  • NULO en caso de falla.

Ejemplo: ¿Cómo funciona la función freopen ()?

 #include #include int main() ( FILE* fp = fopen("test1.txt","w"); fprintf(fp,"%s","This is written to test1.txt"); if (freopen("test2.txt","w",fp)) fprintf(fp,"%s","This is written to test2.txt"); else ( printf("freopen failed"); exit(1); ) fclose(fp); return 0; )

Cuando ejecuta el programa:

 Lo siguiente se escribirá en test1.txt: Esto se escribirá en test1.txt Lo siguiente se escribirá en test2.txt: Esto se escribirá en test2.txt

Articulos interesantes...