SlideShare une entreprise Scribd logo
1  sur  16
 En numerosas aplicaciones se requiere utilizar grandes
 cantidades de información que, normalmente, no
 caben en la memoria principal. Debido a estas causas
 se requiere utilizar archivos (ficheros) para almacenar
 de forma permanente grandes cantidades de
 datos, incluso después de que los programas que crean
 los datos se terminan. Estos datos almacenados
 también se los denomina “datos persistentes” y
 permanecen después de la duración de la ejecución del
 programa.
 El procesamiento de archivos es una de las
 características más importantes que un lenguaje de
 programación debe tener para soportar aplicaciones
 comerciales que procesas, normalmente cantidades
 masivas de datos persistentes.
 Un campo esta caracterizado por su tamaño y o
 longitud y su tipo de datos (cadena de
 caracteres, entero, lógico, etc.). Los campos
 pueden incluso variar en longitud. En la mayoría
 de los lenguajes de programación los campos de
 longitud variable no están soportados y se suponen
 de longitud fija.
 Ejemplo
 Es una colección de registros relacionados entre sí con
 aspectos en común y organizados apara un propósito
 especifico. Por ejemplo, un fichero de una clase escolar
 contiene un conjunto de registros de los estudiantes de
 esa clase. Otros ejemplos pueden ser el fichero de
 nominas de una empresa, inventarios, stocks, etc.
Los datos procesados por las computadoras se organizan en
jerarquía de datos formando estructuras a partir de
bits, caracteres, campos, etc. Ejemplo:

•Nombre (cadena)
•Número de expediente (entero)
•Numero de documento de identidad o pasaporte (entero
doble)
•Año de nacimiento (entero)
•Estudios (cadena)
Según las características del soporte empleado y el modo en que se han
  organizado los registros, se consideran 2 tipos de acceso a los registros de
  un archivo:
 Acceso secuencial
 Acceso directo
Creacion de un archivo:
La creación de un archivo es la operación mediante la cual se introduce la
  información correspondiente al archivo en un soporte de almacenamiento
  de datos.

   Nombre dispositivo (el lugar)
   Nombre del archivo (identifica el archivo entre los restantes)
   Tamaño del archivo
   Organización del archivo (tipo de organización)
   Tamaño del bloque o registro físico (cantidad de datos que se leen)
Par que el usuario pueda abrir un archivo creado se toma los siguientes
  parámetros que se deben incluir en una instrucción de apertura (abrir) son:


 Nombre del dispositivo
 Nombre del usuario o canal de comunicación.
 Nombre del archivo.


Al ejecutar la instrucción abrir se pueden encontrar errores como:


 Archivo no encontrado en el dispositivo especificado(nombre de un archivo)
 Archivo ya está en uso para alguna otra aplicación del usuario.
 Errores hardware
Definición de Fichero:
Una biblioteca en C++ que proporciona “funciones” y operadores para el manejo de
ficheros es la biblioteca fstream.
                                  #include <fstream>
Declaración de Variables de tipo "Fichero":
              ifstream descriptor;           // Para ficheros de entrada
              ofstream descriptor;           // Para ficheros de salida
Apertura de Ficheros de Texto (supongamos TCadena
nombre):
in.open(nombre); // Apertura para Lectura
out.open(nombre); /* Apertura para Escritura. (borra el contenido si lo hubiera) */
out.open(nombre,ios::app); // Apertura para añadir datos al final
in.open(nombre,ios::in|ios:: out); // Apertura para Lectura y Escritura
out.open(nombre,ios::in|ios:: out); // Apertura para Lectura y Escritura
Apertura de Ficheros Binarios (supongamos TCadena
nombre):
in.open(nombre,ios::binary); // Apertura para Lectura
out.open(nombre,ios::binary); /* Apertura para Escritura, (borra el contenido si lo
hubiera) */
out.open(nombre,ios::binary| ios::app); // Apertura para añadir datos al final
in.open(nombre, ios::binary | ios::in | ios:: out); // Apertura para Lectura y
Ejemplo 1:
Las dos líneas siguientes abren el fichero “mio.txt” como fichero de entrada (para
lectura) y lo asocian al descriptor in.
      ifstream in;        // descriptor del fichero a abrir
      in.open(“mio.txt”); // Apertura del fichero;
Ejemplo 2:
Para abrir el fichero “salida.dat” en modo salida (si el fichero no existe lo crea, y si
existe borra su contenido) asociándolo al descriptor out podemos usar la siguiente
sentencia;
   ofstream out;
   out.open("salida.dat");
Ejemplo 3:
// Abrimos el fichero “F2.txt” como fichero de salida en modo AÑADIR.
   fstream inout;
   inout.open("F2.txt", ios::app);
Cierre de ficheros
Un fichero anteriormente abierto y con un descriptor asociado a él debe ser cerrado
con el fin de liberar los recursos, asociado a él de la siguiente forma:
                                      descriptor.close()
Detección de fin de fichero y otras funciones.
 La función eof() que devuelve true si se ha alcanzado el final del fichero y falso en
  cualquier otro caso. REQUIERE LECTURA ADELANTADA: Para que la función
  eof() devuelva un valor de verdad (actualizado).
 La funcioón fail() devuelve true si existe un error en una operación de flujo
  asociada al fichero
 La función bad() devuelve true si el flujo está corrupto.
 La función good() que devuelve true si no existe un error en una operación de
  flujo y false en caso contrario.
Ejemplo 4:
ifstream in;
in.open("F1.dat");
if (in.bad() )
{
  cout << "n Incapaz de crear o abrir el fichero "; // salida estándar
  cout << " para salida " << endl;
}
else
{
   // Se opera sobre el fichero
}
Ejemplo 5:
#include <fstream> // Biblioteca para el manejo de ficheros
#include <iostream> // Biblioteca para la entrada-salida estándar
#include <cstdlib> // Biblioteca estándar de C
using namespace std;
int main()
{
  ofstream fichout;

 fichout.open("EJEMPLO5.TXT");
 if (fichou.bad()t)
 {
  cout << "n Incapaz de crear este o abrir el fichero n";
 }
 else
 { // Escritura en el fichero
   fichout << "Alumno 1" << " " << 5.0 << " APROBADO" << endl;
   fichout << "Alumno 2" << " " << 1.1 << " SUSPENSO" << endl;
   fichout << "Alumno 3" << " " << 8.0 << " NOTABLE " << endl;
   fichout.close();
 }
} // Fin del main
Ejemplo 6:
#include <fstream> // Biblioteca para el manejo de ficheros
#include <iostream> // Biblioteca para la entrada-salida estándar
#include <cstdlib> // Biblioteca estándar de C
using namespace std;
typedef char TCadena[30];
int main()
{
 ifstream fichin; // declaracion del fichero
  int i;
  float r;
  TCadena cad;
 fichin.open("EJEMPLO5.TXT");
 if (fichin.bad())
 {
 cout << "Incapaz de crear o abrir el fichero " << endl;
 }
  else
 {
 fichin >> i;        // Observese la lectura adelantada!!!
   while (!fichin.eof())
   {                                    1
1

cout << i << " ";     // Lectura de valores en el fichero
     fichin >> r;
     cout << r << " ";    // Lectura de valores en el fichero
     fichin >> cad;
     cout << cad << endl; // Lectura de valores en el fichero
 fichin >> i;
   }
   fichin.close();
  } // Fin del main
 Para poder tener un archivo es necesario primero crearlo.
 Concluimos que los ficheros son formas de guardar
  informaion a largo plazo que es lo contrario a un array
  porque un array solo es capaz de guardar informacion
  cuando se ejecuta el programa.
   Es importate que comprendamos a fondo la utilidad de
    un fichero, porque es capaz de guardar cualquier
    informacion, y esto nos sirve en cualquier medio de
    trabajo.
   Un array cuando se ejecuta se guarda en la memoria
    RAM, y un fichero cuando se ejecuta se guarda en la
    memoria ROM.

Contenu connexe

Tendances

PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++die_dex
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++mauro0210
 
ARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE CARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE Cleonard1994
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de informaciónAnuska González
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaMaiirOn Gaitan
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en javajent46
 
16 Archivos
16 Archivos16 Archivos
16 Archivoslichic
 
Grupo 1 Archivos Secuenciales Indexados en C++
Grupo 1 Archivos Secuenciales Indexados en C++Grupo 1 Archivos Secuenciales Indexados en C++
Grupo 1 Archivos Secuenciales Indexados en C++panchorc1
 
Manejo de archivosss
Manejo de archivosssManejo de archivosss
Manejo de archivossstaniarodri
 
Jyoc java-cap17 persistencia. nio
Jyoc java-cap17 persistencia. nioJyoc java-cap17 persistencia. nio
Jyoc java-cap17 persistencia. nioJyoc X
 

Tendances (19)

Ficheros C++
Ficheros C++Ficheros C++
Ficheros C++
 
Manejo de archivos en el lenguaje C
Manejo de archivos en el lenguaje CManejo de archivos en el lenguaje C
Manejo de archivos en el lenguaje C
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++
 
Progra
PrograProgra
Progra
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 
ARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE CARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE C
 
11. lectura y escritura de información
11. lectura y escritura de información11. lectura y escritura de información
11. lectura y escritura de información
 
Archivos de datos en C
Archivos de datos en CArchivos de datos en C
Archivos de datos en C
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en java
 
Archivos
ArchivosArchivos
Archivos
 
16 Archivos
16 Archivos16 Archivos
16 Archivos
 
Grupo 1 Archivos Secuenciales Indexados en C++
Grupo 1 Archivos Secuenciales Indexados en C++Grupo 1 Archivos Secuenciales Indexados en C++
Grupo 1 Archivos Secuenciales Indexados en C++
 
Archivos
ArchivosArchivos
Archivos
 
Manejo de archivosss
Manejo de archivosssManejo de archivosss
Manejo de archivosss
 
Archivos Java
Archivos JavaArchivos Java
Archivos Java
 
Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y archivos
 
Jyoc java-cap17 persistencia. nio
Jyoc java-cap17 persistencia. nioJyoc java-cap17 persistencia. nio
Jyoc java-cap17 persistencia. nio
 
Archivo de datos
Archivo de datosArchivo de datos
Archivo de datos
 

Similaire à Grupo nro4ficheros (20)

2-Archivos.ppt
2-Archivos.ppt2-Archivos.ppt
2-Archivos.ppt
 
Jyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap14 persistencia. ficheros corrientesJyoc java-cap14 persistencia. ficheros corrientes
Jyoc java-cap14 persistencia. ficheros corrientes
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
Temas programacion java_3
Temas programacion java_3Temas programacion java_3
Temas programacion java_3
 
Tema 10 www.fresymetal.com
Tema 10 www.fresymetal.comTema 10 www.fresymetal.com
Tema 10 www.fresymetal.com
 
Archivos
ArchivosArchivos
Archivos
 
Tarea pagweb
Tarea pagwebTarea pagweb
Tarea pagweb
 
Manejo_archivos.ppt
Manejo_archivos.pptManejo_archivos.ppt
Manejo_archivos.ppt
 
Archivos
ArchivosArchivos
Archivos
 
Manejo dearchivosc
Manejo dearchivoscManejo dearchivosc
Manejo dearchivosc
 
Archivos c
Archivos cArchivos c
Archivos c
 
Archivos c
Archivos cArchivos c
Archivos c
 
Acceso a datos
Acceso a datosAcceso a datos
Acceso a datos
 
Tema1oficial
Tema1oficialTema1oficial
Tema1oficial
 
Archivos en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsam
 
Archivos en C++
Archivos en C++Archivos en C++
Archivos en C++
 
Manejo_de_archivos_C
Manejo_de_archivos_CManejo_de_archivos_C
Manejo_de_archivos_C
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 
Archivos.pdf
Archivos.pdfArchivos.pdf
Archivos.pdf
 
Programación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivosProgramación Orientada a Objetos -Unidad 6 archivos
Programación Orientada a Objetos -Unidad 6 archivos
 

Grupo nro4ficheros

  • 1.
  • 2.  En numerosas aplicaciones se requiere utilizar grandes cantidades de información que, normalmente, no caben en la memoria principal. Debido a estas causas se requiere utilizar archivos (ficheros) para almacenar de forma permanente grandes cantidades de datos, incluso después de que los programas que crean los datos se terminan. Estos datos almacenados también se los denomina “datos persistentes” y permanecen después de la duración de la ejecución del programa.
  • 3.  El procesamiento de archivos es una de las características más importantes que un lenguaje de programación debe tener para soportar aplicaciones comerciales que procesas, normalmente cantidades masivas de datos persistentes.
  • 4.  Un campo esta caracterizado por su tamaño y o longitud y su tipo de datos (cadena de caracteres, entero, lógico, etc.). Los campos pueden incluso variar en longitud. En la mayoría de los lenguajes de programación los campos de longitud variable no están soportados y se suponen de longitud fija.  Ejemplo
  • 5.  Es una colección de registros relacionados entre sí con aspectos en común y organizados apara un propósito especifico. Por ejemplo, un fichero de una clase escolar contiene un conjunto de registros de los estudiantes de esa clase. Otros ejemplos pueden ser el fichero de nominas de una empresa, inventarios, stocks, etc.
  • 6. Los datos procesados por las computadoras se organizan en jerarquía de datos formando estructuras a partir de bits, caracteres, campos, etc. Ejemplo: •Nombre (cadena) •Número de expediente (entero) •Numero de documento de identidad o pasaporte (entero doble) •Año de nacimiento (entero) •Estudios (cadena)
  • 7. Según las características del soporte empleado y el modo en que se han organizado los registros, se consideran 2 tipos de acceso a los registros de un archivo:  Acceso secuencial  Acceso directo Creacion de un archivo: La creación de un archivo es la operación mediante la cual se introduce la información correspondiente al archivo en un soporte de almacenamiento de datos.  Nombre dispositivo (el lugar)  Nombre del archivo (identifica el archivo entre los restantes)  Tamaño del archivo  Organización del archivo (tipo de organización)  Tamaño del bloque o registro físico (cantidad de datos que se leen)
  • 8. Par que el usuario pueda abrir un archivo creado se toma los siguientes parámetros que se deben incluir en una instrucción de apertura (abrir) son:  Nombre del dispositivo  Nombre del usuario o canal de comunicación.  Nombre del archivo. Al ejecutar la instrucción abrir se pueden encontrar errores como:  Archivo no encontrado en el dispositivo especificado(nombre de un archivo)  Archivo ya está en uso para alguna otra aplicación del usuario.  Errores hardware
  • 9. Definición de Fichero: Una biblioteca en C++ que proporciona “funciones” y operadores para el manejo de ficheros es la biblioteca fstream. #include <fstream> Declaración de Variables de tipo "Fichero": ifstream descriptor; // Para ficheros de entrada ofstream descriptor; // Para ficheros de salida Apertura de Ficheros de Texto (supongamos TCadena nombre): in.open(nombre); // Apertura para Lectura out.open(nombre); /* Apertura para Escritura. (borra el contenido si lo hubiera) */ out.open(nombre,ios::app); // Apertura para añadir datos al final in.open(nombre,ios::in|ios:: out); // Apertura para Lectura y Escritura out.open(nombre,ios::in|ios:: out); // Apertura para Lectura y Escritura Apertura de Ficheros Binarios (supongamos TCadena nombre): in.open(nombre,ios::binary); // Apertura para Lectura out.open(nombre,ios::binary); /* Apertura para Escritura, (borra el contenido si lo hubiera) */ out.open(nombre,ios::binary| ios::app); // Apertura para añadir datos al final in.open(nombre, ios::binary | ios::in | ios:: out); // Apertura para Lectura y
  • 10. Ejemplo 1: Las dos líneas siguientes abren el fichero “mio.txt” como fichero de entrada (para lectura) y lo asocian al descriptor in. ifstream in; // descriptor del fichero a abrir in.open(“mio.txt”); // Apertura del fichero; Ejemplo 2: Para abrir el fichero “salida.dat” en modo salida (si el fichero no existe lo crea, y si existe borra su contenido) asociándolo al descriptor out podemos usar la siguiente sentencia; ofstream out; out.open("salida.dat"); Ejemplo 3: // Abrimos el fichero “F2.txt” como fichero de salida en modo AÑADIR. fstream inout; inout.open("F2.txt", ios::app);
  • 11. Cierre de ficheros Un fichero anteriormente abierto y con un descriptor asociado a él debe ser cerrado con el fin de liberar los recursos, asociado a él de la siguiente forma: descriptor.close() Detección de fin de fichero y otras funciones.  La función eof() que devuelve true si se ha alcanzado el final del fichero y falso en cualquier otro caso. REQUIERE LECTURA ADELANTADA: Para que la función eof() devuelva un valor de verdad (actualizado).  La funcioón fail() devuelve true si existe un error en una operación de flujo asociada al fichero  La función bad() devuelve true si el flujo está corrupto.  La función good() que devuelve true si no existe un error en una operación de flujo y false en caso contrario.
  • 12. Ejemplo 4: ifstream in; in.open("F1.dat"); if (in.bad() ) { cout << "n Incapaz de crear o abrir el fichero "; // salida estándar cout << " para salida " << endl; } else { // Se opera sobre el fichero }
  • 13. Ejemplo 5: #include <fstream> // Biblioteca para el manejo de ficheros #include <iostream> // Biblioteca para la entrada-salida estándar #include <cstdlib> // Biblioteca estándar de C using namespace std; int main() { ofstream fichout; fichout.open("EJEMPLO5.TXT"); if (fichou.bad()t) { cout << "n Incapaz de crear este o abrir el fichero n"; } else { // Escritura en el fichero fichout << "Alumno 1" << " " << 5.0 << " APROBADO" << endl; fichout << "Alumno 2" << " " << 1.1 << " SUSPENSO" << endl; fichout << "Alumno 3" << " " << 8.0 << " NOTABLE " << endl; fichout.close(); } } // Fin del main
  • 14. Ejemplo 6: #include <fstream> // Biblioteca para el manejo de ficheros #include <iostream> // Biblioteca para la entrada-salida estándar #include <cstdlib> // Biblioteca estándar de C using namespace std; typedef char TCadena[30]; int main() { ifstream fichin; // declaracion del fichero int i; float r; TCadena cad; fichin.open("EJEMPLO5.TXT"); if (fichin.bad()) { cout << "Incapaz de crear o abrir el fichero " << endl; } else { fichin >> i; // Observese la lectura adelantada!!! while (!fichin.eof()) { 1
  • 15. 1 cout << i << " "; // Lectura de valores en el fichero fichin >> r; cout << r << " "; // Lectura de valores en el fichero fichin >> cad; cout << cad << endl; // Lectura de valores en el fichero fichin >> i; } fichin.close(); } // Fin del main
  • 16.  Para poder tener un archivo es necesario primero crearlo.  Concluimos que los ficheros son formas de guardar informaion a largo plazo que es lo contrario a un array porque un array solo es capaz de guardar informacion cuando se ejecuta el programa.  Es importate que comprendamos a fondo la utilidad de un fichero, porque es capaz de guardar cualquier informacion, y esto nos sirve en cualquier medio de trabajo.  Un array cuando se ejecuta se guarda en la memoria RAM, y un fichero cuando se ejecuta se guarda en la memoria ROM.