SlideShare una empresa de Scribd logo
1 de 20
 Un stream es una especie de canal a través
  del cual fluyen los datos.
 Técnicamente, un stream es el enlace
  lógico utilizado por el programador en C,
  C++ para leer o escribir datos desde y hacia
  los dispositivos estándar conectados a la PC.
 El dispositivo estándar para manipular
  entradas es el teclado y está asociado al
  objeto cin; el dispositivo estándar de
  salida está asociado al objeto cout.
   El almacenamiento de datos en variables y arrays
    (arreglos) es temporal; los datos se pierden cuando
    se termina el programa.
   La mayoría de las aplicaciones requiere que la
    información se almacene de forma persistente es
    decir que no se borre cuando se termine la
    ejecución del programa. Debido a esto se
    requiere utilizar archivos (ficheros) para almacenar
    de modo permanente grandes cantidades de
    datos, incluso después de que los programas que
    crean los datos se terminan.
1. Un fichero se identifica por su nombre, el cual
   generalmente está compuesto por:
• Path: Indica la ruta para encontrar el fichero
  incluyendo la unidad de almacenamiento donde
  se halla.
•   Nombre
•   Extensión: Son tres caracteres que sirven para
  identificar el
    tipo de fichero
Por ejemplo:

            "C:Mis documentosapuntes.doc"
     path
                                              extensión
                        nombre
2.   Un fichero puede estar compuesto por registros,
     cada uno de los cuales contiene información sobre
     un elemento. Un registro está compuesto por
     campos.
     Ejemplo: Se tiene un fichero de registros o
     estructuras Articulo

                     struct Articulo {
                       int codigo;
               char descripcion[maxdesc];
                       float precio;
                                     };
  Secuencial: para acceder al elemento i-ésimo se
   recorre desde el primer elemento hasta el
   elemento i-1.
Ejemplo: El almacenamiento en una cinta(casette)
es de acceso secuencial.

  Directo: para acceder al elemento i-ésimo se
   hace directamente.
Ejemplo: El almacenamiento en un disco es de
acceso directo.
   Secuencial: Las consultas de los registros se hace
    secuencialmente desde el primer elemento hasta el elemento
    i-ésimo.
 Directa: Se establece una relación entre la clave del registro y
    la posición del registro en el fichero.
Ejemplo: Se tiene un fichero de registros Articulo cuyo campo
clave es el código. Los códigos son números que van de 10 en
10, ej. 10, 20, 30, 40, 50, etc. Se realiza la siguiente función de
acceso F:
 F (código) = código(10);
La cual que devuelve la posición del registro a partir del
código, y por lo tanto puede accederse a él directamente.
 Indexada: Básicamente es una organización secuencial a la
    que se le agrega una o más tablas de índices que permiten
    acceder a los registros de manera más directa.
 Existen operaciones que afectan a todo el
  fichero, entre las cuales se enumeran:
 Crear un fichero
 Borrar un fichero
 Ordenar un fichero según algún criterio de
  orden
 Fusionar dos ficheros para formar un tercer
  fichero
 Dividir un fichero en dos o más ficheros
   Además, existen otras operaciones que
    afectan a uno o más registros del
    fichero, entre las cuales se enumeran:

 Alta de un nuevo registro
 Baja de un registro
 Modificación de uno o más registros
 Consulta de uno o más registros
   Su sintaxis es:
                      nombre_fstream.operacion

  Open(nombre_fichero, opciones): Puede usarse cuando en el
   constructor se ignoró la apertura del fichero.
Ejemplo:
fichero1.open("prueba.txt", ios::in); esto antes de realizar
cualquier lectura.

  close(): Cuando se desea cerrar un stream
Ejemplo:
fichero1.close(); esto después de haber realizado todas las
lecturas y/o escrituras.

    eof(): Es una función que devuelve un valor diferente a 0
     (TRUE) si se llegó al fin de fichero, de otro modo devuelve 0
     (FALSE)
Ejemplo:
if (fichero1.eof()){
 //fin de fichero, no hay más datos
}
    is_open(): Es una función que devuelve un valor diferente a 0
     (TRUE) si el fichero asociado al stream está abierto, de otro
     modo devuelve 0 (FALSE).
Ejemplo:
if (fichero1.is_open()){
cout<<el fichero está abierto;
}
 tellp(), es una función que devuelve como resultado la
     posición actual (tipo pos_type) de un stream de salida.

   seekp(posición, posición_inicial), sitúa el lugar de escritura
    indicada en posición en forma relativa a posicion_inicial, la
    cual puede ser ios::beg (comienzo), ios::cur (actual), ios::end
    (fin).
  Existe una manera de manipular ficheros en C++
   mediante los denominados streams.
 Un stream representa un flujo de información,
   desde el programa a un dispositivo o periférico de
   salida, o desde un periférico de entrada al
   programa
 La manera de utilizar un stream de entrada es:
stream_entrada >> variable;
 La manera de utilizar un stream de salida es:
stream_salida << información.
   Hasta el momento se han utilizado dos streams
    predefinidos:
   cin es un stream de entrada asociado al teclado
   cout es un stream de salida asociado a la pantalla

Pueden definirse stream de entrada y/o salida y
asociarlos a un fichero, de manera que se puedan
recibir datos del fichero y/o enviar datos al fichero
respectivamente.

  La librería que se debe utilizar es <fstream.h>.
 Se debe declarar un stream mediante el constructor:
 fstream nombre_stream (nombre_fichero, opciones);
   Las opciones indican diferentes modos entre los
    cuales se encuentran:
   ios::in: Crea un stream de entrada, es decir, para
    lectura de datos del fichero
   ios::out: Crea un stream de salida, es decir, para
    escritura de datos en el fichero
   ios::ate: Hace que la posición inicial sea al final del
    fichero
   ios::app: Se sitúa al final del fichero antes de cada
    escritura
   ios::trunc: Borra cualquier cosa que pudiera haber en
    el fichero
   ios::nocreate: Si el fichero no existe fallará
   ios::noreplace: Si el fichero existe fallará
   ios::bin: Abre el fichero como binario
Ejemplo:
 stream de salida asociado al fichero prueba.txt. Se borra
   cualquier contenido del mismo.
        fstream fichero1 ("prueba.txt", ios::out|ios::trunc)

   stream de entrada asociado al fichero prueba.txt
              fstream fichero2 ("prueba.txt", ios::in);
   Cuando se quiere guardar información de
    estructuras o registros en C/C++ se deben utilizar las
    funciones de ficheros de la librería <stdio.h>.

   Existe un tipo de datos denominado FILE por medio
    del cual se manipulan los ficheros.

   Entre las funciones definidas para trabajar con
    ficheros se encuentran:
   FILE* fopen (const char *name, const char *mode):
   recibe como parámetros:
 Un string name con el nombre del fichero
 Un string mode con el modo de apertura del fichero que
    puede ser:
    "r" : abre fichero existente para lectura. Si no existe falla la
          operación.
   "w" : abre fichero para escritura. Si existe, sus contenidos se
          borran.
   "a" : abre fichero para escritura. Si existe, se agregan los datos
          al final
  "r+" : abre fichero para lectura y escritura. El fichero debe existir.
 "w+" : abre fichero para lectura y escritura. Si existe, sus
          contenidos se borran
 "a+" : abre fichero para lectura y escritura. Si existe, se agregan
          datos al final
  int fclose (FILE *file)
La función fclose cierra el fichero abierto file.
 size_t fread (void *pbuffer, size_t size, size_t number, FILE *file)
Se usa para leer desde el fichero, y recibe como parámetros:
 Un puntero a FILE del fichero file desde el cual se quiere leer.
 Un número number de tipo size_t que indica la cantidad de
   elementos que se quiere leer.
 Un número size de tipo size_t que indica el tamaño en bytes de
   cada elemento.
 Un puntero pbuffer a un lugar donde se copiarán los
   elementos leídos.
 size_t fwrite (void *pbuffer, size_t size, size_t number, FILE *file)
La función fwrite se usa para escribir en el fichero, y recibe los
mismos parámetros que la función fread.
 int ftell (FILE *file)
La función ftell devuelve un int que indica el número
de bytes desde el comienzo hasta la posición donde
se encuentra el cabezal de lectura.

  int feof (FILE *file)
Devuelve 0 mientras las lecturas hechas no lleguen al
final del fichero.

 void rewind (FILE *file)
La función rewind sitúa el cabezal de lectura al inicio
del fichero.
   Luís, Joyanes aguilar. (2003): “Fundamentos de Programación:
    Algoritmos, Estructuras de Datos y Objetos.” Madrid.Mc-Graw
    Hill. Cuarta edición. Páginas 201 hasta 346 (Capitulo #9) .

   Anónimo, Fundamentos de informática [en
    línea], Ficheros, Fecha de consulta: 28-12-2012, Disponible en:
    http://dmi.uib.es/~abasolo/foninf/2002-2003/capitulos/6-
    ficheros.html

Más contenido relacionado

La actualidad más candente

Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en javaMaiirOn Gaitan
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++die_dex
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en javajent46
 
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
 
Archivos en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsamdevxon9
 
Manejo de archivosss
Manejo de archivosssManejo de archivosss
Manejo de archivossstaniarodri
 
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
 
Lectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosLectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosdanilo95parra
 
Arreglos Turbo C
Arreglos Turbo CArreglos Turbo C
Arreglos Turbo Ctacubomx
 
ARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE CARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE Cleonard1994
 
16 Archivos
16 Archivos16 Archivos
16 Archivoslichic
 

La actualidad más candente (19)

Archivos C++
Archivos C++Archivos C++
Archivos C++
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++PUNTEROS (APUNTADORES) EN C++
PUNTEROS (APUNTADORES) EN C++
 
Archivos aleatorios en java
Archivos aleatorios en javaArchivos aleatorios en java
Archivos aleatorios en java
 
Grupo nro4ficheros
Grupo nro4ficherosGrupo nro4ficheros
Grupo nro4ficheros
 
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 en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsam
 
Manejo de archivosss
Manejo de archivosssManejo de archivosss
Manejo de archivosss
 
Utilizacion de archivos en Dev C++
Utilizacion de archivos en Dev C++Utilizacion de archivos en Dev C++
Utilizacion de archivos en Dev C++
 
Archivos
ArchivosArchivos
Archivos
 
Archivos de datos en C
Archivos de datos en CArchivos de datos en C
Archivos de datos en C
 
Archivos
ArchivosArchivos
Archivos
 
Flujos y archivos
Flujos y archivosFlujos y archivos
Flujos y 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 Java
Archivos JavaArchivos Java
Archivos Java
 
Lectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivosLectura y-escritura-desde-archivos
Lectura y-escritura-desde-archivos
 
Arreglos Turbo C
Arreglos Turbo CArreglos Turbo C
Arreglos Turbo C
 
ARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE CARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE C
 
16 Archivos
16 Archivos16 Archivos
16 Archivos
 

Destacado

Ficheros y Directorios
Ficheros y DirectoriosFicheros y Directorios
Ficheros y DirectoriosRaul Villamor
 
Sistemas operativos monousuario
Sistemas operativos monousuarioSistemas operativos monousuario
Sistemas operativos monousuariocarlos1997pantoja
 
Identificacion y organizacion de archivos
Identificacion y organizacion de archivosIdentificacion y organizacion de archivos
Identificacion y organizacion de archivos90070674911
 
Ficheros y carpetas
Ficheros y carpetasFicheros y carpetas
Ficheros y carpetasgeopaloma
 
Tipos de archivos y extensiones[1]
Tipos de archivos y extensiones[1]Tipos de archivos y extensiones[1]
Tipos de archivos y extensiones[1]annes chavez vanegas
 

Destacado (7)

Ficheros y Directorios
Ficheros y DirectoriosFicheros y Directorios
Ficheros y Directorios
 
S o dos
S o dosS o dos
S o dos
 
Sistemas operativos monousuario
Sistemas operativos monousuarioSistemas operativos monousuario
Sistemas operativos monousuario
 
Identificacion y organizacion de archivos
Identificacion y organizacion de archivosIdentificacion y organizacion de archivos
Identificacion y organizacion de archivos
 
Ficheros y carpetas
Ficheros y carpetasFicheros y carpetas
Ficheros y carpetas
 
Tipos de archivos y extensiones[1]
Tipos de archivos y extensiones[1]Tipos de archivos y extensiones[1]
Tipos de archivos y extensiones[1]
 
Archivos Y Carpetas
Archivos Y CarpetasArchivos Y Carpetas
Archivos Y Carpetas
 

Similar a Fichero c y c++ (20)

PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
Manejo dearchivosc
Manejo dearchivoscManejo dearchivosc
Manejo dearchivosc
 
Archivos c
Archivos cArchivos c
Archivos c
 
Archivos c
Archivos cArchivos c
Archivos c
 
Tema 10 www.fresymetal.com
Tema 10 www.fresymetal.comTema 10 www.fresymetal.com
Tema 10 www.fresymetal.com
 
Tema1oficial
Tema1oficialTema1oficial
Tema1oficial
 
Lab archivos
Lab archivosLab archivos
Lab archivos
 
2-Archivos.ppt
2-Archivos.ppt2-Archivos.ppt
2-Archivos.ppt
 
Acceso a datos
Acceso a datosAcceso a datos
Acceso a datos
 
Tarea pagweb
Tarea pagwebTarea pagweb
Tarea pagweb
 
Manejo_archivos.ppt
Manejo_archivos.pptManejo_archivos.ppt
Manejo_archivos.ppt
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 
Archivos en C++
Archivos en C++Archivos en C++
Archivos en C++
 
Archivos
ArchivosArchivos
Archivos
 
7 manejo de archivos
7 manejo de archivos7 manejo de archivos
7 manejo de archivos
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo de archivos en java
Manejo de archivos en javaManejo de archivos en java
Manejo de archivos en java
 
Manejo+de+archivos+en+java
Manejo+de+archivos+en+javaManejo+de+archivos+en+java
Manejo+de+archivos+en+java
 
Archivo de datos
Archivo de datosArchivo de datos
Archivo de datos
 
Metodos de entrada y Salida
Metodos de entrada y SalidaMetodos de entrada y Salida
Metodos de entrada y Salida
 

Último

Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfapunteshistoriamarmo
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalJonathanCovena1
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptNancyMoreiraMora1
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptAlberto Rubio
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Juan Martín Martín
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!CatalinaAlfaroChryso
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxhenarfdez
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...Ars Erótica
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONamelia poma
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxlclcarmen
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfcarolinamartinezsev
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024IES Vicent Andres Estelles
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...JoseMartinMalpartida1
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 

Último (20)

Revista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdfRevista Apuntes de Historia. Mayo 2024.pdf
Revista Apuntes de Historia. Mayo 2024.pdf
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.pptFUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
FUERZA Y MOVIMIENTO ciencias cuarto basico.ppt
 
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).pptPINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
PINTURA DEL RENACIMIENTO EN ESPAÑA (SIGLO XVI).ppt
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
Power Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptxPower Point E. S.: Los dos testigos.pptx
Power Point E. S.: Los dos testigos.pptx
 
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdfPlan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
Plan-de-la-Patria-2019-2025- TERCER PLAN SOCIALISTA DE LA NACIÓN.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024Tema 19. Inmunología y el sistema inmunitario 2024
Tema 19. Inmunología y el sistema inmunitario 2024
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 

Fichero c y c++

  • 1.
  • 2.  Un stream es una especie de canal a través del cual fluyen los datos.  Técnicamente, un stream es el enlace lógico utilizado por el programador en C, C++ para leer o escribir datos desde y hacia los dispositivos estándar conectados a la PC.  El dispositivo estándar para manipular entradas es el teclado y está asociado al objeto cin; el dispositivo estándar de salida está asociado al objeto cout.
  • 3. El almacenamiento de datos en variables y arrays (arreglos) es temporal; los datos se pierden cuando se termina el programa.  La mayoría de las aplicaciones requiere que la información se almacene de forma persistente es decir que no se borre cuando se termine la ejecución del programa. Debido a esto se requiere utilizar archivos (ficheros) para almacenar de modo permanente grandes cantidades de datos, incluso después de que los programas que crean los datos se terminan.
  • 4. 1. Un fichero se identifica por su nombre, el cual generalmente está compuesto por: • Path: Indica la ruta para encontrar el fichero incluyendo la unidad de almacenamiento donde se halla. • Nombre • Extensión: Son tres caracteres que sirven para identificar el tipo de fichero Por ejemplo: "C:Mis documentosapuntes.doc" path extensión nombre
  • 5. 2. Un fichero puede estar compuesto por registros, cada uno de los cuales contiene información sobre un elemento. Un registro está compuesto por campos. Ejemplo: Se tiene un fichero de registros o estructuras Articulo struct Articulo { int codigo; char descripcion[maxdesc]; float precio; };
  • 6.  Secuencial: para acceder al elemento i-ésimo se recorre desde el primer elemento hasta el elemento i-1. Ejemplo: El almacenamiento en una cinta(casette) es de acceso secuencial.  Directo: para acceder al elemento i-ésimo se hace directamente. Ejemplo: El almacenamiento en un disco es de acceso directo.
  • 7. Secuencial: Las consultas de los registros se hace secuencialmente desde el primer elemento hasta el elemento i-ésimo.  Directa: Se establece una relación entre la clave del registro y la posición del registro en el fichero. Ejemplo: Se tiene un fichero de registros Articulo cuyo campo clave es el código. Los códigos son números que van de 10 en 10, ej. 10, 20, 30, 40, 50, etc. Se realiza la siguiente función de acceso F: F (código) = código(10); La cual que devuelve la posición del registro a partir del código, y por lo tanto puede accederse a él directamente.  Indexada: Básicamente es una organización secuencial a la que se le agrega una o más tablas de índices que permiten acceder a los registros de manera más directa.
  • 8.  Existen operaciones que afectan a todo el fichero, entre las cuales se enumeran:  Crear un fichero  Borrar un fichero  Ordenar un fichero según algún criterio de orden  Fusionar dos ficheros para formar un tercer fichero  Dividir un fichero en dos o más ficheros
  • 9. Además, existen otras operaciones que afectan a uno o más registros del fichero, entre las cuales se enumeran:  Alta de un nuevo registro  Baja de un registro  Modificación de uno o más registros  Consulta de uno o más registros
  • 10. Su sintaxis es: nombre_fstream.operacion  Open(nombre_fichero, opciones): Puede usarse cuando en el constructor se ignoró la apertura del fichero. Ejemplo: fichero1.open("prueba.txt", ios::in); esto antes de realizar cualquier lectura.  close(): Cuando se desea cerrar un stream Ejemplo: fichero1.close(); esto después de haber realizado todas las lecturas y/o escrituras.  eof(): Es una función que devuelve un valor diferente a 0 (TRUE) si se llegó al fin de fichero, de otro modo devuelve 0 (FALSE) Ejemplo: if (fichero1.eof()){ //fin de fichero, no hay más datos }
  • 11. is_open(): Es una función que devuelve un valor diferente a 0 (TRUE) si el fichero asociado al stream está abierto, de otro modo devuelve 0 (FALSE). Ejemplo: if (fichero1.is_open()){ cout<<el fichero está abierto; }  tellp(), es una función que devuelve como resultado la posición actual (tipo pos_type) de un stream de salida.  seekp(posición, posición_inicial), sitúa el lugar de escritura indicada en posición en forma relativa a posicion_inicial, la cual puede ser ios::beg (comienzo), ios::cur (actual), ios::end (fin).
  • 12.  Existe una manera de manipular ficheros en C++ mediante los denominados streams.  Un stream representa un flujo de información, desde el programa a un dispositivo o periférico de salida, o desde un periférico de entrada al programa  La manera de utilizar un stream de entrada es: stream_entrada >> variable;  La manera de utilizar un stream de salida es: stream_salida << información.
  • 13. Hasta el momento se han utilizado dos streams predefinidos:  cin es un stream de entrada asociado al teclado  cout es un stream de salida asociado a la pantalla Pueden definirse stream de entrada y/o salida y asociarlos a un fichero, de manera que se puedan recibir datos del fichero y/o enviar datos al fichero respectivamente.  La librería que se debe utilizar es <fstream.h>.  Se debe declarar un stream mediante el constructor: fstream nombre_stream (nombre_fichero, opciones);
  • 14. Las opciones indican diferentes modos entre los cuales se encuentran:  ios::in: Crea un stream de entrada, es decir, para lectura de datos del fichero  ios::out: Crea un stream de salida, es decir, para escritura de datos en el fichero  ios::ate: Hace que la posición inicial sea al final del fichero  ios::app: Se sitúa al final del fichero antes de cada escritura  ios::trunc: Borra cualquier cosa que pudiera haber en el fichero  ios::nocreate: Si el fichero no existe fallará  ios::noreplace: Si el fichero existe fallará  ios::bin: Abre el fichero como binario
  • 15. Ejemplo:  stream de salida asociado al fichero prueba.txt. Se borra cualquier contenido del mismo. fstream fichero1 ("prueba.txt", ios::out|ios::trunc)  stream de entrada asociado al fichero prueba.txt fstream fichero2 ("prueba.txt", ios::in);
  • 16. Cuando se quiere guardar información de estructuras o registros en C/C++ se deben utilizar las funciones de ficheros de la librería <stdio.h>.  Existe un tipo de datos denominado FILE por medio del cual se manipulan los ficheros.  Entre las funciones definidas para trabajar con ficheros se encuentran:
  • 17. FILE* fopen (const char *name, const char *mode): recibe como parámetros:  Un string name con el nombre del fichero  Un string mode con el modo de apertura del fichero que puede ser: "r" : abre fichero existente para lectura. Si no existe falla la operación. "w" : abre fichero para escritura. Si existe, sus contenidos se borran. "a" : abre fichero para escritura. Si existe, se agregan los datos al final "r+" : abre fichero para lectura y escritura. El fichero debe existir. "w+" : abre fichero para lectura y escritura. Si existe, sus contenidos se borran "a+" : abre fichero para lectura y escritura. Si existe, se agregan datos al final
  • 18.  int fclose (FILE *file) La función fclose cierra el fichero abierto file.  size_t fread (void *pbuffer, size_t size, size_t number, FILE *file) Se usa para leer desde el fichero, y recibe como parámetros:  Un puntero a FILE del fichero file desde el cual se quiere leer.  Un número number de tipo size_t que indica la cantidad de elementos que se quiere leer.  Un número size de tipo size_t que indica el tamaño en bytes de cada elemento.  Un puntero pbuffer a un lugar donde se copiarán los elementos leídos.  size_t fwrite (void *pbuffer, size_t size, size_t number, FILE *file) La función fwrite se usa para escribir en el fichero, y recibe los mismos parámetros que la función fread.
  • 19.  int ftell (FILE *file) La función ftell devuelve un int que indica el número de bytes desde el comienzo hasta la posición donde se encuentra el cabezal de lectura.  int feof (FILE *file) Devuelve 0 mientras las lecturas hechas no lleguen al final del fichero.  void rewind (FILE *file) La función rewind sitúa el cabezal de lectura al inicio del fichero.
  • 20. Luís, Joyanes aguilar. (2003): “Fundamentos de Programación: Algoritmos, Estructuras de Datos y Objetos.” Madrid.Mc-Graw Hill. Cuarta edición. Páginas 201 hasta 346 (Capitulo #9) .  Anónimo, Fundamentos de informática [en línea], Ficheros, Fecha de consulta: 28-12-2012, Disponible en: http://dmi.uib.es/~abasolo/foninf/2002-2003/capitulos/6- ficheros.html