Entradas/Salidas: Los flujos en C++

última actualización el 5 de agosto de 2009, 20:05 por Carlos-vialfa
Publicado por Carlos-vialfa

Entradas/Salidas: Los flujos en C++





Para poder conservar nuestros datos una vez cerrados los programas, debemos escribirlos en ficheros En este artículo veremos cómo hacerlo.

Para abrir un fichero, ya sea para lectura o escritura, es necesario declarar una instancia de los objetos ofstream y/o ifstream. Para ello debemos incluir "fstream".

Nota: el fichero utilizado para los ejemplos se llama ”datos.txt”. Pero puedes utilizar cualquier otro nombre, el resultado será el mismo.

1. Abrir un fichero para lectura


Para abrir un fichero para lectura, el objeto necesario es "ifstream", luego para cerrar el flujo hay que utilizar la función close().

1.1 Apertura del fichero “datos.txt” para lectura


#include <iostream>
#include <fstream>

using namespace std;

int main() {

ifstream fichero("datos.txt");
fichero.close();                     //cierre del flujo

return 0;
}


Este código abre el fichero “datos.txt” para lectura.

1.2 Lectura del contenido de “datos.txt”


#include <iostream>
#include <fstream>

using namespace std;

int main() {

ifstream fichero("datos.txt");
char caracter;
while(fichero.get(caracter)) 
cout << caracter;
cout << endl << endl;
fichero.close();                     //cierre del flujo

return 0;
}

2. Apertura de un fichero para escritura


Para abrir un fichero para escritura, el objeto necesario es "ofstream", luego para cerrar este flujo hay que utilizar la función close().

2.1 Apertura del fichero “datos.txt” para escritura


#include <iostream>
#include <fstream>

using namespace std;

int main() {

ofstream fichero("datos.txt");
fichero.close();                     //cierra del flujo

return 0;
}


Este código abre el fichero “datos.txt” para escritura.

2.2 Escribir en “datos.txt”


#include <iostream>
#include <fstream>

using namespace std;

int main() {

char hola[10] = "hola!"
ofstream fichero("datos.txt");
fichero << hola;              //escritura de la cadena hola en datos.txt
fichero.close();                     //cierre del flujo

return 0;
}

3. Tipos de apertura de flujos


Por defecto, ofstream crea automáticamente un fichero si no existe el indicado. Podemos agregar argumentos a este constructor para modificar su comportamiento. A continuación una lista de posibles parámetros:
  • ios::app: Abre el fichero en modo agregar, y posiciona el apuntador al final del mismo en lugar de eliminar su contenido.
  • ios::ate: Permite ir al final del fichero
  • ios::trunc: Comportamiento por defecto: elimina el contenido.
  • ios::nocreate: Provoca un error de apertura si el fichero no existe.
  • ios::noreplace: Provoca un error de apertura si el fichero ya existe.


PD: El artículo original fue escrito por HACKER 712, contribuidor de CommentCaMarche
Mejores respuestas para « Entradas/Salidas: Los flujos en C++ » en :
Cables y conectores Ver Conectores En informática, los conectores, normalmente denominados "conectores de entrada/salida" (o abreviado conectores E/S) son interfaces para conectar dispositivos mediante cables. Generalmente tienen un extremo macho con clavijas que...
Periféricos Ver Conceptos acerca de los periféricos "Se denomina "periférico" a cualquier equipo electrónico susceptible de ser conectado a un ordenador mediante una de sus interfaces de entrada/salida (puerto serial, puerto paralelo, bus USB, bus FireWire,...
El bus PCI Express VerPeripheral Component Interconnect Express o PCI Express Funcionamiento Los diferentes bus PCI La evolución El PCI Express, (PCI-E o PCIe) (antiguamente 3GIO, Entradas/Salidas de tercera generación) es la última evolución del bus PCI....
Descargar Dia VerDia es una aplicación dirigida a los usuarios que hacen diagramas, posee una interfaz sencilla e intuitiva y tiene funciones parecidas a Visio de Microsoft o al FlowChart. Crea diagramas de flujo de todo tipo como: diagramas eléctricos, entidad...
Protocolos de mensajería (SMTP, POP3 e IMAP4) VerIntroducción al correo electrónico El correo electrónico es considerado el servicio más utilizado de Internet. Por lo tanto, la serie de protocolos TCP/IP ofrece una gama de protocolos que permiten una fácil administración del enrutamiento del...
USB (Bus de serie universal) VerIntroducción al USB El USB (Bus de serie universal), como su nombre lo sugiere, se basa en una arquitectura de tipo serial. Sin embargo, es una interfaz de entrada/salida mucho más rápida que los puertos seriales estándar. La arquitectura serial se...
Bus PCI Express (PCI-E) VerEl Bus PCI Express El bus PCI Express (Interconexión de Componentes Periféricos Express, también escrito PCI-E o 3GIO en el caso de las "Entradas/Salidas de Tercera Generación"), es un bus de interconexión que permite añadir placas de expansión a un...