La función fopen () en C ++ abre un archivo especificado en un modo determinado.
prototipo fopen ()
ARCHIVO * fopen (const char * nombre de archivo, const char * modo);
La fopen()
función toma dos argumentos y devuelve un flujo de archivo asociado con ese archivo especificado por el argumento nombre de archivo.
Está definido en el archivo de encabezado.
Los diferentes tipos de modo de acceso a archivos son los siguientes:
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 |
fopen () Parámetros
- nombre de archivo: puntero a la cadena que contiene el nombre del archivo que se abrirá.
- modo: puntero a la cadena que especifica el modo en el que se abre el archivo.
fopen () Valor de retorno
- Si tiene éxito, la
fopen()
función devuelve un puntero al objeto FILE que controla la secuencia del archivo abierto. - Si falla, devuelve un puntero nulo.
Ejemplo 1: abrir un archivo en modo escritura usando fopen ()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "w"); char str(20) = "Hello World!"; if (fp) ( for(int i=0; i
When you run the program, it will not generate any output but will write "Hello World!" to the file "file.txt".
Example 2: Opening a file in read mode using fopen()
#include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "r"); if (fp) ( while ((c = getc(fp)) != EOF) putchar(c); fclose(fp); ) return 0; )
When you run the program, the output will be (Assuming the same file as in Example 1):
Hello World!
Example 3: Opening a file in append mode using fopen()
#include #include using namespace std; int main() ( int c; FILE *fp; fp = fopen("file.txt", "a"); char str(20) = "Hello Again."; if (fp) ( putc('',fp); for(int i=0; i
When you run the program, it will not generate any output but will append "Hello Again" in a newline to the file "file.txt".