SlideShare uma empresa Scribd logo
1 de 12
Manejos y archivos en c
Estudiantes:
Arelis Quintero
Andrea Riquelme
Cristyn Calderón
Fernando Fernández
Universidad de Panamá
Facultad de Informática, Electrónica y Comunicación
Licenciatura: Gerencia en Comercio Electrónico
CONCEPTOS BÁSICOS DE ARCHIVOS
• Esta sección presenta las generalidades relacionadas con archivos
antes de empezar a utilizarlos y programarlos.
Es necesario involucrarse con la terminología relacionada como archivo,
registro, campo, etc. También es recomendable conocer las
clasificaciones generales y las operaciones fundamentales con archivos
INTERACION ENTRE LA MEMORIA
,MICROPROCESADOR Y LOS ARCHIVOS
Definiciones de datos, registros y archivos
Datos: Básicamente se refieren con hechos, ya sean características de
ciertos objetos de estudio o condiciones particulares de situaciones
dadas. Los elementos individuales de los archivos se llaman datos o
campos. Por ejemplo un cheque de un banco tiene los siguientes
campos: Cuenta habiente, Número de cheque, Fecha, Persona a la que se
le paga, Monto numérico, Monto con letra, Nota, Identificación del banco,
Número de cuenta y Firma. Cada campo es definido por un tipo de dato.
• Registro: Es el conjunto completo de datos relacionados
pertenecientes a una
Clasificación de archivos por tipo de
contenido
Existen muchas clasificaciones de archivos de acuerdo a diferentes
criterios o aplicaciones. Aquí se presenta una muy importante: de
acuerdo al contenido.
C/Manejo de archivos de texto
• Así como hemos revisado la salida y entrada por pantalla y
teclado respectivamente, veremos ahora la entrada y/o
salida de datos utilizando ficheros, lo cual será
imprescindible para un gran número de aplicaciones que
deseemos desarrollar.
Manejos de Archivo de textos en c
• Un archivo generalmente debe verse como un string (una cadena de caracteres) que esta
guardado en el disco duro. Para trabajar con los archivos existen diferentes formas y
diferentes funciones. Las funciones que podríamos usar para leer un archivo son
• char fgetc(FILE *archivo)
• char *fgets(char *buffer, int tamaño, FILE *archivo)
• size_t fread(void *puntero, size_t tamaño, size_t cantidad, FILE *archivo);
• int fscanf(FILE *fichero, const char *formato, argumento, ...);
• Las primeras dos de estas funciones son muy parecidas entre si. Pero la tercera, por el
numero y el tipo de parámetros, nos podemos dar cuenta de que es muy diferente, por
eso la trataremos aparte junto al fwrite que es su contraparte para escritura.
Los parámetros de entrada de fopen son:
filename: una cadena que contiene un nombre de fichero
válido. opentype: especifica el tipo de fichero que se abrirá o
se creará.
Una lista de parámetros opentype para la función fopen son:
"r" : abrir un archivo para lectura, el fichero debe existir.
"w" : abrir un archivo para escritura, se crea si no existe o se
sobrescribe si existe.
"a" : abrir un archivo para escritura al final del contenido, si
no existe se crea.
"r+" : abrir un archivo para lectura y escritura, el fichero
debe existir.
"w+" : crear un archivo para lectura y escritura, se crea si no
existe o se sobrescribe si existe.
"r+b ó rb+" : Abre un archivo en modo binario para
actualización (lectura y escritura).
"rb" : Abre un archivo en modo binario para lectura.
Declaraciones
• Una “declaración” establece una asociación entre una variable, función
o tipo determinado y sus atributos. En declaraciones se proporciona la
sintaxis ANSI de la declaración no terminal. Una declaración también
especifica dónde y cuándo se puede acceder a un identificador (la
"vinculación" de un identificador). Vea Duración, ámbito, visibilidad y
vinculación para obtener información sobre la vinculación.
DECLARACIONES
• Declaración de una variable como un entero
• int variable;
• int variable2;
• int variable3;
• Declaración de variables y asignación de valores en una línea
• int variable = 1000, variable2 = 2, variable3;
• Declaración de variables tipo texto
• char variable ;
• Con tamaño fijo de caracteres:
• char variable[15];
• Con asignación de valor
Abrir archivos
Modos de apertura de un archivo
El segundo parámetro de fopen() indica la forma en que se manipulara el archivo. En el ejemplo anterior en la linea 16
estamos abriendo el archivo para solo leerlo. ¿Que quiere decir? Que el archivo debe existir para poderlo abrir y que no se le
añadirá o modificara el contenido actual del archivo.
Las formas de abrir el archivo son estas:
r—abre el archivo en modo de solo lectura.
w—abre el archivo para escritura (si no existe lo crea, si existe lo destruye).
a—abre el archivo para agregar información (si no existe lo crea).
r+—abre el archivo para lectura/escritura (comienza al principio del archivo).
w+—abre el archivo para lectura/escritura, sobre-escribe el archivo si este ya existe o lo crea si no).
a+—abre el archivo para lectura/escritura (se sitúa a
l final del archivo).
Si vamos a trabajar con archivos binarios usamos la letra b así que los modos de acceso quedan “rb”, “wb”, “ab”, “rb+”,
“wb+”, “ab+”.
Cerrar archivos
• Cerrar archivos
• Luego de trabajar con un archivo lo recomendable es cerrarlo,
esto hace que el sistema operativo escriba cualquier dato que
pudiera estar en memoria a disco. Como se puede ver en el
ejemplo, en la línea 32 la instrucción fclose()cierra el archivo.
Recibe un parámetro, que es, la variable con la que se maneja el
archivo.

Mais conteúdo relacionado

Mais procurados

Archivos secuenciales en PYTHON
Archivos secuenciales en PYTHONArchivos secuenciales en PYTHON
Archivos secuenciales en PYTHONHaylin Ellenes
 
Examen corregido2
Examen corregido2Examen corregido2
Examen corregido2alexisrm11
 
Lectura y Escritura de archivos a MatLab
Lectura y Escritura de archivos a MatLabLectura y Escritura de archivos a MatLab
Lectura y Escritura de archivos a MatLabOswaldo Carlosama
 
Estructura de archivos secuencial indexado
Estructura de archivos secuencial indexadoEstructura de archivos secuencial indexado
Estructura de archivos secuencial indexadodexter120
 
Resumen ficheros
Resumen ficherosResumen ficheros
Resumen ficherosnuriacelis
 
ARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE CARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE Cleonard1994
 
Estructura de archivos secuencial indexado
Estructura de archivos secuencial indexadoEstructura de archivos secuencial indexado
Estructura de archivos secuencial indexadocaoxman
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++EdsonRc
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivosTensor
 
Juan camilo martin
Juan camilo martinJuan camilo martin
Juan camilo martinelmajestik
 
LENGUAJE C++
LENGUAJE C++LENGUAJE C++
LENGUAJE C++k_tire
 
Informe forence - Forensic Report
Informe forence - Forensic ReportInforme forence - Forensic Report
Informe forence - Forensic Reportangel soriano
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexadoluismy_martinez
 
Sist Informacion Clase 12 2009 1 7880
Sist Informacion Clase 12 2009 1 7880Sist Informacion Clase 12 2009 1 7880
Sist Informacion Clase 12 2009 1 7880Danieltorrealba
 

Mais procurados (20)

ARCHIVOS LENGUAJE C
ARCHIVOS LENGUAJE CARCHIVOS LENGUAJE C
ARCHIVOS LENGUAJE C
 
Archivos secuenciales en PYTHON
Archivos secuenciales en PYTHONArchivos secuenciales en PYTHON
Archivos secuenciales en PYTHON
 
Examen corregido2
Examen corregido2Examen corregido2
Examen corregido2
 
Lectura y Escritura de archivos a MatLab
Lectura y Escritura de archivos a MatLabLectura y Escritura de archivos a MatLab
Lectura y Escritura de archivos a MatLab
 
Estructura de archivos secuencial indexado
Estructura de archivos secuencial indexadoEstructura de archivos secuencial indexado
Estructura de archivos secuencial indexado
 
Resumen ficheros
Resumen ficherosResumen ficheros
Resumen ficheros
 
ARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE CARCHIVOS DEL LENGUAJE C
ARCHIVOS DEL LENGUAJE C
 
Estructura de archivos secuencial indexado
Estructura de archivos secuencial indexadoEstructura de archivos secuencial indexado
Estructura de archivos secuencial indexado
 
Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++Archivos secuenciales-indexados C++
Archivos secuenciales-indexados C++
 
Access
AccessAccess
Access
 
Procesamiento de archivos
Procesamiento de archivosProcesamiento de archivos
Procesamiento de archivos
 
Juan camilo martin
Juan camilo martinJuan camilo martin
Juan camilo martin
 
LENGUAJE C++
LENGUAJE C++LENGUAJE C++
LENGUAJE C++
 
Trabajo pedro archivos
Trabajo pedro archivosTrabajo pedro archivos
Trabajo pedro archivos
 
Ficheros de cabecera
Ficheros de cabecera Ficheros de cabecera
Ficheros de cabecera
 
Informe forence - Forensic Report
Informe forence - Forensic ReportInforme forence - Forensic Report
Informe forence - Forensic Report
 
Archivo Secuencial-Indexado
Archivo Secuencial-IndexadoArchivo Secuencial-Indexado
Archivo Secuencial-Indexado
 
Archivo Secuencial
Archivo SecuencialArchivo Secuencial
Archivo Secuencial
 
Conceptos Base de datos.pptx
Conceptos Base de datos.pptxConceptos Base de datos.pptx
Conceptos Base de datos.pptx
 
Sist Informacion Clase 12 2009 1 7880
Sist Informacion Clase 12 2009 1 7880Sist Informacion Clase 12 2009 1 7880
Sist Informacion Clase 12 2009 1 7880
 

Semelhante a Manejo de archivos (20)

Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 
Gestion de archivos
Gestion de archivosGestion de archivos
Gestion de archivos
 
Archivos en c clase unsam
Archivos en c clase unsamArchivos en c clase unsam
Archivos en c clase unsam
 
Bryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficherosBryan gordillo ensayo_ficheros
Bryan gordillo ensayo_ficheros
 
PERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOSPERSISTENCIA BASADA EN ARCHIVOS
PERSISTENCIA BASADA EN ARCHIVOS
 
Manejo_de_archivos_C
Manejo_de_archivos_CManejo_de_archivos_C
Manejo_de_archivos_C
 
Tema 10 - Manejo de Archivos de texto.pptx
Tema 10 - Manejo de Archivos de texto.pptxTema 10 - Manejo de Archivos de texto.pptx
Tema 10 - Manejo de Archivos de texto.pptx
 
Tema 10 - Manejo de Archivos de texto (1).pptx
Tema 10 - Manejo de Archivos de texto (1).pptxTema 10 - Manejo de Archivos de texto (1).pptx
Tema 10 - Manejo de Archivos de texto (1).pptx
 
Archivos.pdf
Archivos.pdfArchivos.pdf
Archivos.pdf
 
Manejo de archivosss
Manejo de archivosssManejo de archivosss
Manejo de archivosss
 
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
 
Fichc
FichcFichc
Fichc
 
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
 
Archivos
ArchivosArchivos
Archivos
 
Grupo nro4ficheros
Grupo nro4ficherosGrupo nro4ficheros
Grupo nro4ficheros
 
Lab archivos
Lab archivosLab archivos
Lab archivos
 
Tema1oficial
Tema1oficialTema1oficial
Tema1oficial
 

Último

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 

Último (12)

EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 

Manejo de archivos

  • 1. Manejos y archivos en c Estudiantes: Arelis Quintero Andrea Riquelme Cristyn Calderón Fernando Fernández Universidad de Panamá Facultad de Informática, Electrónica y Comunicación Licenciatura: Gerencia en Comercio Electrónico
  • 2. CONCEPTOS BÁSICOS DE ARCHIVOS • Esta sección presenta las generalidades relacionadas con archivos antes de empezar a utilizarlos y programarlos. Es necesario involucrarse con la terminología relacionada como archivo, registro, campo, etc. También es recomendable conocer las clasificaciones generales y las operaciones fundamentales con archivos
  • 3. INTERACION ENTRE LA MEMORIA ,MICROPROCESADOR Y LOS ARCHIVOS
  • 4. Definiciones de datos, registros y archivos Datos: Básicamente se refieren con hechos, ya sean características de ciertos objetos de estudio o condiciones particulares de situaciones dadas. Los elementos individuales de los archivos se llaman datos o campos. Por ejemplo un cheque de un banco tiene los siguientes campos: Cuenta habiente, Número de cheque, Fecha, Persona a la que se le paga, Monto numérico, Monto con letra, Nota, Identificación del banco, Número de cuenta y Firma. Cada campo es definido por un tipo de dato. • Registro: Es el conjunto completo de datos relacionados pertenecientes a una
  • 5. Clasificación de archivos por tipo de contenido Existen muchas clasificaciones de archivos de acuerdo a diferentes criterios o aplicaciones. Aquí se presenta una muy importante: de acuerdo al contenido.
  • 6. C/Manejo de archivos de texto • Así como hemos revisado la salida y entrada por pantalla y teclado respectivamente, veremos ahora la entrada y/o salida de datos utilizando ficheros, lo cual será imprescindible para un gran número de aplicaciones que deseemos desarrollar.
  • 7. Manejos de Archivo de textos en c • Un archivo generalmente debe verse como un string (una cadena de caracteres) que esta guardado en el disco duro. Para trabajar con los archivos existen diferentes formas y diferentes funciones. Las funciones que podríamos usar para leer un archivo son • char fgetc(FILE *archivo) • char *fgets(char *buffer, int tamaño, FILE *archivo) • size_t fread(void *puntero, size_t tamaño, size_t cantidad, FILE *archivo); • int fscanf(FILE *fichero, const char *formato, argumento, ...); • Las primeras dos de estas funciones son muy parecidas entre si. Pero la tercera, por el numero y el tipo de parámetros, nos podemos dar cuenta de que es muy diferente, por eso la trataremos aparte junto al fwrite que es su contraparte para escritura.
  • 8. Los parámetros de entrada de fopen son: filename: una cadena que contiene un nombre de fichero válido. opentype: especifica el tipo de fichero que se abrirá o se creará. Una lista de parámetros opentype para la función fopen son: "r" : abrir un archivo para lectura, el fichero debe existir. "w" : abrir un archivo para escritura, se crea si no existe o se sobrescribe si existe. "a" : abrir un archivo para escritura al final del contenido, si no existe se crea. "r+" : abrir un archivo para lectura y escritura, el fichero debe existir. "w+" : crear un archivo para lectura y escritura, se crea si no existe o se sobrescribe si existe. "r+b ó rb+" : Abre un archivo en modo binario para actualización (lectura y escritura). "rb" : Abre un archivo en modo binario para lectura.
  • 9. Declaraciones • Una “declaración” establece una asociación entre una variable, función o tipo determinado y sus atributos. En declaraciones se proporciona la sintaxis ANSI de la declaración no terminal. Una declaración también especifica dónde y cuándo se puede acceder a un identificador (la "vinculación" de un identificador). Vea Duración, ámbito, visibilidad y vinculación para obtener información sobre la vinculación.
  • 10. DECLARACIONES • Declaración de una variable como un entero • int variable; • int variable2; • int variable3; • Declaración de variables y asignación de valores en una línea • int variable = 1000, variable2 = 2, variable3; • Declaración de variables tipo texto • char variable ; • Con tamaño fijo de caracteres: • char variable[15]; • Con asignación de valor
  • 11. Abrir archivos Modos de apertura de un archivo El segundo parámetro de fopen() indica la forma en que se manipulara el archivo. En el ejemplo anterior en la linea 16 estamos abriendo el archivo para solo leerlo. ¿Que quiere decir? Que el archivo debe existir para poderlo abrir y que no se le añadirá o modificara el contenido actual del archivo. Las formas de abrir el archivo son estas: r—abre el archivo en modo de solo lectura. w—abre el archivo para escritura (si no existe lo crea, si existe lo destruye). a—abre el archivo para agregar información (si no existe lo crea). r+—abre el archivo para lectura/escritura (comienza al principio del archivo). w+—abre el archivo para lectura/escritura, sobre-escribe el archivo si este ya existe o lo crea si no). a+—abre el archivo para lectura/escritura (se sitúa a l final del archivo). Si vamos a trabajar con archivos binarios usamos la letra b así que los modos de acceso quedan “rb”, “wb”, “ab”, “rb+”, “wb+”, “ab+”.
  • 12. Cerrar archivos • Cerrar archivos • Luego de trabajar con un archivo lo recomendable es cerrarlo, esto hace que el sistema operativo escriba cualquier dato que pudiera estar en memoria a disco. Como se puede ver en el ejemplo, en la línea 32 la instrucción fclose()cierra el archivo. Recibe un parámetro, que es, la variable con la que se maneja el archivo.