3.283 cursos gratis
6.262.191 alumnos
Publica tu curso gratis
Busca cursos gratis:
Estás aquí: mailxmail > Cursos de Informática > Programación > Lenguaje C++. Guía para Programadores > Ficheros

Lenguaje C++. Guía para Programadores

Autor: Fernando Guerrero Tala
Curso:  4,38/5 4,38/5 (190 opiniones) |20698 alumnos|Fecha publicación: 01/07/2004

Capítulo 16:

 Ficheros

Para realizar E/S en archivos debe incluirse en el programa el archivo cabecera fstream.h. Un archivo se abre mediante el enlace a un flujo. Tenemos 3 tipos de flujo: de entrada, de salida o de entrada-salida. Antes de abrir un fichero debe obtenerse el flujo. Los 3 flujos tienen funciones constructoras que abren el archivo automáticamente. Una vez realizadas las operaciones con los ficheros debemos cerrar el fichero mediante la función close( ).

FLUJO

DESCRIPCIÓN

ofstream out

De salida.

ofstream in

De entrada.

fstream io

De salida-entrada.

En C++ podemos trabajar con 3 tipos de ficheros: secuencial, binario sin formato y acceso aleatorio. Todos comparten el método de apertura, pero cada uno de ellos tienen métodos propios para ir escribiendo y leyendo.

SINTAXIS:
flujo("nombre_fichero.extension");

EJEMPLO: Fichero secuencial.
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
#include <stdlib.h>
void main()
{
     ofstream out("fichero.tex"); 
     if (!out)
     {
         cout << "El archivo no puede abrirse";
         exit(1);
     }

     char cad[80];
     cout << "Escritura de cadenas. Salir dejar en blanco\n";

     do
     {
         cout<<": ";
         gets(cad);
         out << cad << endl; 
     }while(*cad);

     out.close();
}

BINARIOS SIN FORMATO: Las funciones E/S son read()y write(). La función read() lee num bytes del flujo asociado y los coloca en la variable. La función write() escribe num bytes de la variable en el flujo asociado. 

PROTOTIPOS:
in.read(variable,num_bytes);
out.write(variable,longitud_cadena);

EJEMPLO: Fichero binario. Escritura.
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void main()
{
     ofstream out("texto.tex");
     if (!out)
     {
         cout << "El archivo no puede abrirse";
         exit(1);
     }

     char cad[80];
     cout << "Escritura de cadenas. Salir dejar en blanco\n";
     do
     {
         cout<<": ";
         gets(cad);
         out.write(cad,strlen(cad));
     }while(strlen(cad));
     out.close();
}

EJEMPLO: Fichero binario. Lectura.
#include <iostream.h>
#include <fstream.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
void main()
{
     clrscr();
     ifstream in("texto.tex"); 
     if (!in)
     {
         cout << "El archivo no puede abrirse";
         exit(1);
     }
     char cad[80];
     cout << "Lectura de cadenas\n";
     in.read(cad,80);
     cout << cad;

     in.close(); 
     getch();
}

ALEATORIOS: También podemos realizar el acceso aleatorio. Las funciones que se utilizan son seekg() y seekp() para posicionarnos y las funciones get() y put() para leer y escribir en el fichero. Las funciones de posicionamiento y leer-escribir van emparejadas.

PROTOTIPOS:
         out.seekp(posicion,lugar_de_comienzo);
         out.put('char');
         in.seekg(posicion,lugar_de_comienzo);
         in.get(var_char);

LUGAR

DESCRIPCIÓN

ios::beg

Desde el principio.

ios::end

Desde el final.

ios::cur

Posición actual.

EJEMPLO: Fichero aleatorio. Escritura.
#include <iostream.h>
#include <fstream.h>
#include <stdlib.h>
void main()
{
     fstream out("texto1.txt",ios::in|ios::out);
     if (!out)
     {
         cout << "El archivo no se puede abrir";
         exit(1);
     }
     out.seekp(4,ios::beg);
     out.put('z');
     out.close();
}

Capítulo siguiente - Excepciones
Recibe nuestras novedades
Al presionar "Recibir" estás dándote de alta y aceptas las condiciones legales de mailxmail

Hay 190 opiniones. Opina sobre este curso.


Cursos similares a Lenguaje C++. Guía para Programadores


Cursos Valoración Alumnos Vídeo
PHP y MySQL. Aplicaciones Web: programación PHP I (quinta parte)
Programación de aplicaciones Web con PHP y MySQL. Ahora estudiaremos el Lenguaje de programación PHP. Aprende ahora las formas de escribir las etiquetas ... [02/12/08]
 3,50/5 1.076  
Instalación de un Servidor de Correo en Linux
Linux es un sistema operativo libre, con lo que no se tiene que pagar por ningún tipo de licencia. También se puede conseguir el código fuente y poderlo modificar libreme... [16/06/04]
 4,38/5 13.740  
Holística informática
Aprende con nuestro curso de holística informática, sobre los avances informáticos que te ayudará a actualizarte conociendo más acer... [28/04/09]
4/5 1.293  


Publicar en   del.icio.us    digg    meneame

¿Qué es mailxmail.com?|ISSN: 1699-4914|Recomiéndanos|Ayuda
Condiciones legales de mailxmail