Latest web development tutorials

funciones de la biblioteca C - freopen ()

C biblioteca estándar - <stdio.h> C biblioteca estándar - <stdio.h>

descripción

C funciones de bibliotecaARCHIVO * freopen (const char * nombre de archivo , char * const modo, flujo FILE *) a un nuevo nombre de archivo continuoflujo denombre de archivoasociado con el conjunto dado de apertura, mientras cerrar el flujo de archivos viejos.

declaración

Aquí se fReopen () la declaración de la función.

FILE *freopen(const char *filename, const char *mode, FILE *stream)

parámetros

  • nombre de archivo - Esta es una cadena C que contiene el nombre del archivo que desea abrir.
  • Modo - Esta es una cadena C que contiene el modo de acceso a archivos, el modo es el siguiente:
模式描述
"r" 打开一个用于读取的文件。该文件必须存在。
"w" 创建一个用于写入的空文件。如果文件名称与已存在的文件相同,则会删除已有文件的内容,文件被视为一个新的空文件。
"a" 追加到一个文件。写操作向文件末尾追加数据。如果文件不存在,则创建文件。
"r+" 打开一个用于更新的文件,可读取也可写入。该文件必须存在。
"w+" 创建一个用于读写的空文件。
"a+" 打开一个用于读取和追加的文件。
  • corriente - Este es un puntero a FILE puntero a un objeto, el archivo de identificador de objeto se va a volver a abrir la corriente.

Valor de retorno

Si el archivo se abre correctamente, la función devuelve un puntero al flujo de identificador de objeto. De lo contrario, devuelve un puntero nulo.

Ejemplos

El siguiente ejemplo demuestra freopen () se utiliza la función.

#include <stdio.h>

int main ()
{
   FILE *fp;

   printf("该文本重定向到 stdout\n");

   fp = freopen("file.txt", "w+", stdout);

   printf("该文本重定向到 file.txt\n");

   fclose(fp);
   
   return(0);
}

Vamos a compilar y ejecutar el programa anterior, que enviará a las siguientes líneas en la salida estándar STDOUT, porque al principio no nos dirigimos a la salida estándar:

该文本重定向到 stdout

Después de llamar afreopen (), se asocia al archivo archivo.txtSTDOUT salidaestándar,si vamos a ser en lo que está escrito se escribe en la salida estándar STDOUT archivo.txt, tendrá el siguiente archivo archivo.txt contenidos.

该文本重定向到 file.txt

Ahora vamos a utilizar el procedimiento siguiente para ver el contenido del archivo anterior:

#include <stdio.h>

int main ()
{
   FILE *fp;
   int c;

   fp = fopen("file.txt","r");
   while(1)
   {
      c = fgetc(fp);
      if( feof(fp) )
      {
          break ;
      }
      printf("%c", c);
   }
   fclose(fp);
   return(0);
}

C biblioteca estándar - <stdio.h> C biblioteca estándar - <stdio.h>