7. ¿Qué diferencia hay entre un archivo de datos y un archivo de índices?
Que el archivo de índices incluye índices en el almacenamiento de los archivos, y son más fáciles de buscar, mientras que los archivos de datos no son así.
8. ¿Qué es una base de datos?
Una base de datos es un conjunto de datos que pertenecen al mismo contexto almacenados sistemáticamente. Es una colección estructurada de elementos de datos.
9. ¿Qué diferencia hay entre archivos y bases de datos?
Que los archivos pertenecen a las bases de datos, es decir que las bases de datos almacenan archivos de datos.
10. ¿Qué tipos de archivos se pueden manejar desde lenguaje C++?
Los archivos no ejecutables, porque estos almacenan información que tiene que ser utilizada con ayuda de este programa.
11. ¿Qué instrucciones se requieren para el manejo de archivos en lenguaje C++? Y 12. ¿Explique, con ejemplos, cada una de las instrucciones para el manejo de archivos en C++?
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 blancon";
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 blancon";
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 cadenasn";
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);
output('z'); out.close() }
Darling Patrcia Vargas Salazar
Página anterior | Volver al principio del trabajo | Página siguiente |