Para poder conservar nuestros datos una vez cerrados los programas debemos escribirlos en ficheros. En este artículo veremos cómo hacerlo.
¿Cuál es el procedimiento?
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”. Puedes utilizar cualquier otro nombre que el resultado será el mismo.
¿Cómo abrir un fichero para lectura?
Para abrir un fichero para lectura, el objeto necesario es "ifstream". A continuación, para cerrar el flujo hay que utilizar la función close().
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.
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; }
¿Cómo hacer la apertura de un fichero para escritura?
Para abrir un fichero para escritura, el objeto necesario es "ofstream". A continuación para cerrar este flujo hay que utilizar la función close().
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.
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; }
¿Qué tipos de apertura de flujos existen?
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.
Lenguajes
- Apertura entrada-salida de datos y cierre de archivos
- ¿Qué conectores y puertos tiene un ordenador?
- Configurar servidores de correo en Gmail: SMTP, IMAP y POP3 > Guide
- Cuáles son los periféricos de entrada y salida [resuelto] > Foros - Hardware
- Configurar PC para dos salidas de sonido [resuelto] > Foros - Hardware
- que son los perifericos de entrada ,salida [resuelto] > Foros - Hardware
- Cómo programar una lista enlazada simple en C
- Cómo crear y enviar un formulario por correo con HTML y PHP
- Variables en C++: qué son y cómo utilizarlas
- Cómo programar listas doblemente enlazadas
- Cómo insertar espacios en HTML
- Qué son las listas circulares en C
- Cómo concatenar vectores y matrices en Matlab
- Cómo programar las pilas en lenguaje C
- Qué es la función inline en C++
- Cómo ver el contenido de un fichero .jar
- Cómo generar una lista del abecedario en Python
- Cómo redondear hacia arriba en VBA, VB6 y VB.net con Round
- STL en C++: qué es y cómo utilizarlo
- Cómo hacer una compilación y módulos en C y C++
- Qué son las plantillas en C++
- Cómo trazar curvas y gráficas en Matlab
- Cómo dar formato de hora a un número decimal en VBA
- MATLAB: recorrer una matriz, transpuesta, rango, inversa...
- Visual FoxPro 9: qué es, para qué sirve, instalar en Windows
- Cómo identificar un error de segmentación en C - C/C++
- Cómo programar filas en lenguaje C
- Cómo generar números aleatorios con rand()
- Qué lenguaje de programación aprender primero: ¡los mejores!
- Cómo instalar una librería compilada en Codeblocks con MinGW
- Cómo compilar un programa en C bajo Linux
- Archivo manifest: qué es y cómo se abre
- Pascal: método recursivo de ordenamiento de burbuja y arrays