SlideShare una empresa de Scribd logo
1 de 11
Descargar para leer sin conexión
ARCHIVOS
ARCHIVOS CON VISUAL C++ 2019
Ing Daniel Osorio Maldonado
Archivos
➢ Los archivos en C++ tienen una connotación especial, por su naturaleza deben crearse en
un dispositivo físico para de esa forma ser recuperados cuantas veces sea necesario.
➢ Muchas veces los procesos creados en una aplicación queda solo en la memoria temporal.
➢ En C++, existen las clases que manejan los archivos:
*ifstream-> solo para flujos de entrada
*ofstream->solo para flujos de salida
*fstream->para flujos de entrada y salida
➢ Existen dos tipos de archivos de uso general:
➢ Archivos de texto o Secuenciales
➢ Archivos Binarios o Aleatorios
Modos para el manejo de archivos
Nombre MODO -> Significado
in
out
app
ate
trunc
binary
nocreate
noreplace
ios::in
ios::out
ios::app
ios::binary
Abre archivo para entrada (lectura)
Abre archivo para salida(escritura)
Abre archivo para salida de modo que se pueden escribir nuevos datos al final
del archivo(añadir).
Se posiciona al final del archivo, cuando se abre.
Si el archivo ya existe, destruye su contenido. Si el archivo no existe se crea un nuevo
archivo.
Abre el archivo en modo binario.
Abre un archivo existente. Si el archivo no existe, la apertura falla.
Si el archivo ya existe, la apertura falla.
Abre el archivo para entrada
Abre el archivo para salida
Abre el archivo para agregar información
Abre el archivo para salida binaria
ARCHIVOS DE TEXTO
➢ Se les dice también archivos secuenciales, es decir la información grabada es del
tipo texto.
➢ Se accede a la información desde un block de notas o cualquier procesador de
textos formateado o no.
➢ Objetos o comandos a usar
➢ #include<fstream>
fstream objarchi -> crea un enlace para usar el método open()
objarchi.open(“nomb_archi”,ios::out); -> crea el archivo “nomb_archi” y lo ubica en
el lugar donde se encuentra la aplicación para crear archivos.
if(objarchi.fail()) -> necesario para que crear el archivo, si no existe sale de la
aplicación.
objarchi<<”Creando informacion para el archivo “<<endl; -> Agrega ionformacion al
archivo creado “nombarchi”,
despues de haber ingresado informacion se hace necesario cerrar.
objarchi.close();
Aplicaciones
//Creando un archivo basico
#include<fstream> //libreria para la creacion de archivos
#include<stdlib.h>
#include<iostream>
using namespace std;
void main() {
ofstream myarchi;
myarchi.open("Nuevo14_10_2021.txt", ios::out);
if (myarchi.fail()) {
cout << "No es posible la Apertura ";
exit(1);
}
else
myarchi << "Ingrese Valores " << endl
<<"Son Valores del Dia 14 de Octubre del 2021 "
<<"Realizado en la tarde con la seccion B ";
myarchi.close();
system("pause");}
//#include<conio.h>
#include<iostream>
#include<stdlib.h>
#include<string>
#include<fstream>
using namespace std;
void main(){
string nombres, paterno, materno, curso, nota;
//char nombres[20],paterno[20],materno[20];
ofstream D1;
D1.open("ArchA1.txt",ios::out);
if (D1.fail()) {
cout << "No es posible la Apertura ";
exit(1);}
else
D1 << "Ingrese Valores "<<endl;
cout<<"ingrese su nombre completo : ";
getline(cin,nombres);
cout<<"ingrese su apellido paterno:";
getline(cin,paterno);
cout<<"ingrese su apellido materno: ";
getline(cin,materno);
cout << "Ingrese su curso ";
getline(cin,curso);
cout << "Ingrese Nota ";
getline(cin, nota);
D1 << nombres << endl<< paterno << endl<< materno << endl<< curso << endl<<nota<<endl;
cout << "Extrae los Datos "<<endl
<<"***************************"<<endl;
cout << nombres << endl<< paterno << endl<< materno << endl<< curso << endl<<nota<<endl;
D1.close();
system("pause");}
//Añadir Texto al final de un archivo
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<fstream>
#include<string>
using namespace std;
void anyadir();
void main(){
system("pause");
anyadir();
cout<<endl;
system("pause");
}
void anyadir(){
ofstream archi;
archi.open("g:parchiprueba02.txt",ios::app);//Abrir el archivo para añadir
if(archi.fail()){
cout<<"El archivo no existe ";
system("pause");
exit(1);
}
archi<<"Debo agregar esta linea "<<endl;
archi.close();
}
Archivos Binarios
➢ Los archivos binarios almacenan información en bloques de bytes o byte a
byte, en lugar hacerlo como caracter por caracter.
➢ Además esta forma de acceder a la información es muy importante sobre
todo si se trata de recuperar la información que no es texto simple.
➢ Son por ejemplo, los ejecutable, un mapa de bits, etc.
➢ para acceder a ellos se debe utilizar el programa que los creo un programa
que lea este tipo de archivo.
#include<iostream>
#include<stdlib.h>
#include<fstream>
#include<math.h>
using namespace std;
void main(){
int e=13;
float g=13.77;
double h=7.12358720,s=0, R=0;
s=(2*e+5*g)/(sqrtf(h));
R=sqrtf(e)+powf(g,1.0/3)+powf(h,1.0/7);
fstream bina0("binArchi.bin",ios::binary|ios::out|ios::app);
archi.write((char*)&e,sizeof(int));
archi.write((char*)&g,sizeof(float));
archi.write((char*)&h,sizeof(double));
archi.write((char*)&s,sizeof(double));
archi.write((char*)&R,sizeof(double));
bina0.close();
system("pause");
}
*/
<>En esta aplicación, usamos la libreria
#include<fstream>, propia para archivos
<>Se crean las variables, con datos:
e,g,h,etc,
<> Creamos el enlace u Objeto bina0,
creando el archivo binArch.
<>fstream
bina0(“binArchi.bin”,ios::binary|ios::out|ios:
:app).i
<> Ahora usamos el objeto bina0 para
grabar información:
bina0.write((char *))->apunta al nombre
del archivo.
&e-> toma la direccion de ‘e’, toma el
espacio que ocupa de su tipo de dato de
‘e’.
//Leyendo lo escrito en Iniciando 1
#include<iostream>
#include<stdlib.h>
#include<fstream>
using namespace std;
void main(){
int r;float k;double m,t,W;
ifstream bina0("binArchi.bin",ios::binary);
archi.read((char*)&r,sizeof(int));
archi.read((char*)&k,sizeof(float));
archi.read((char*)&m,sizeof(double));
archi.read((char*)&t,sizeof(double));
archi.read((char*)&W,sizeof(double));
cout<<"El entero es "<<r<<endl
<<"El flotante es "<<k<<endl
<<"Un double "<<m<<endl
<<"Una Operacion = "<<t<<endl
<<"Operacion con raices "<<W<<endl;
bina0.close();
system("pause");
}
<>Recuperando la información grabada con el
comando “read”
<> archi.read((char*)&r,size(int)); ->Lee la
información en la posición que fue enviada.
#include<fstream>
#include<stdlib.h>
#include<iostream>
using namespace std;
struct sDatos{
int Codigo;
char Nombre[20];
float Sueldo;
};
void main(){
sDatos EstDat;
fstream Obj("filebin.dat ", ios::in | ios::out | ios::binary | ios::app);
if (Obj.fail()) {
cout << "Error de Apertura de filebin.dat " << endl;
exit(0); }
// Ingreso de Datos
while (1) {
cout << " Ingrese Código <0 Salir> : ";
cin >> EstDat.Codigo; cin.get();
if (EstDat.Codigo == 0) break;
cout << "Ingrese Nombre : ";
cin.getline(EstDat.Nombre, 20);
cin.get();
cout << "Ingrese Sueldo :";
cin >> EstDat.Sueldo;
cin.get();
Obj.write((char*)&EstDat, sizeof(EstDat)); // Graba un Registro en Archivo y avanza puntero
Obj.close();
}
system("pause");}
En esta aplicación usaremos una estructura
para grabar archivos binarios.
Se deja como ejercicio leer la información
almacenada

Más contenido relacionado

Similar a ARCHIVOS_Dom.pdf (20)

2 7 ficheros_php
2 7 ficheros_php2 7 ficheros_php
2 7 ficheros_php
 
Crear un portable con 7z
Crear un portable con 7zCrear un portable con 7z
Crear un portable con 7z
 
Tarea pagweb
Tarea pagwebTarea pagweb
Tarea pagweb
 
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
 
crear_portable.pdf
crear_portable.pdfcrear_portable.pdf
crear_portable.pdf
 
03. Archivos Completo Obliogatorio Para Imprimir.pdf
03. Archivos Completo Obliogatorio Para Imprimir.pdf03. Archivos Completo Obliogatorio Para Imprimir.pdf
03. Archivos Completo Obliogatorio Para Imprimir.pdf
 
Archivos
ArchivosArchivos
Archivos
 
Progra
PrograProgra
Progra
 
Ejemplos de llamadas al sistema
Ejemplos de llamadas al sistemaEjemplos de llamadas al sistema
Ejemplos de llamadas al sistema
 
Fichero c y c++
Fichero c y c++Fichero c y c++
Fichero c y c++
 
11 archivos guia numero 4
11 archivos guia numero 411 archivos guia numero 4
11 archivos guia numero 4
 
Atix05
Atix05Atix05
Atix05
 
Dev c++
Dev c++Dev c++
Dev c++
 
Unidad 3 ficheros
Unidad 3 ficherosUnidad 3 ficheros
Unidad 3 ficheros
 
Presentacion de Taller de Repositorio Eprints.pptx
Presentacion de Taller de Repositorio Eprints.pptxPresentacion de Taller de Repositorio Eprints.pptx
Presentacion de Taller de Repositorio Eprints.pptx
 
ATIX05
ATIX05ATIX05
ATIX05
 
ATIX05
ATIX05ATIX05
ATIX05
 
Data storage
Data storageData storage
Data storage
 
Practica 5
Practica 5Practica 5
Practica 5
 
Manejo archivos
Manejo archivosManejo archivos
Manejo archivos
 

Último

TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxJUANSIMONPACHIN
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 

Último (20)

VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docxPLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
PLANIFICACION ANUAL 2024 - INICIAL UNIDOCENTE.docx
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 

ARCHIVOS_Dom.pdf

  • 1. ARCHIVOS ARCHIVOS CON VISUAL C++ 2019 Ing Daniel Osorio Maldonado
  • 2. Archivos ➢ Los archivos en C++ tienen una connotación especial, por su naturaleza deben crearse en un dispositivo físico para de esa forma ser recuperados cuantas veces sea necesario. ➢ Muchas veces los procesos creados en una aplicación queda solo en la memoria temporal. ➢ En C++, existen las clases que manejan los archivos: *ifstream-> solo para flujos de entrada *ofstream->solo para flujos de salida *fstream->para flujos de entrada y salida ➢ Existen dos tipos de archivos de uso general: ➢ Archivos de texto o Secuenciales ➢ Archivos Binarios o Aleatorios
  • 3. Modos para el manejo de archivos Nombre MODO -> Significado in out app ate trunc binary nocreate noreplace ios::in ios::out ios::app ios::binary Abre archivo para entrada (lectura) Abre archivo para salida(escritura) Abre archivo para salida de modo que se pueden escribir nuevos datos al final del archivo(añadir). Se posiciona al final del archivo, cuando se abre. Si el archivo ya existe, destruye su contenido. Si el archivo no existe se crea un nuevo archivo. Abre el archivo en modo binario. Abre un archivo existente. Si el archivo no existe, la apertura falla. Si el archivo ya existe, la apertura falla. Abre el archivo para entrada Abre el archivo para salida Abre el archivo para agregar información Abre el archivo para salida binaria
  • 4. ARCHIVOS DE TEXTO ➢ Se les dice también archivos secuenciales, es decir la información grabada es del tipo texto. ➢ Se accede a la información desde un block de notas o cualquier procesador de textos formateado o no. ➢ Objetos o comandos a usar ➢ #include<fstream> fstream objarchi -> crea un enlace para usar el método open() objarchi.open(“nomb_archi”,ios::out); -> crea el archivo “nomb_archi” y lo ubica en el lugar donde se encuentra la aplicación para crear archivos. if(objarchi.fail()) -> necesario para que crear el archivo, si no existe sale de la aplicación. objarchi<<”Creando informacion para el archivo “<<endl; -> Agrega ionformacion al archivo creado “nombarchi”, despues de haber ingresado informacion se hace necesario cerrar. objarchi.close();
  • 5. Aplicaciones //Creando un archivo basico #include<fstream> //libreria para la creacion de archivos #include<stdlib.h> #include<iostream> using namespace std; void main() { ofstream myarchi; myarchi.open("Nuevo14_10_2021.txt", ios::out); if (myarchi.fail()) { cout << "No es posible la Apertura "; exit(1); } else myarchi << "Ingrese Valores " << endl <<"Son Valores del Dia 14 de Octubre del 2021 " <<"Realizado en la tarde con la seccion B "; myarchi.close(); system("pause");}
  • 6. //#include<conio.h> #include<iostream> #include<stdlib.h> #include<string> #include<fstream> using namespace std; void main(){ string nombres, paterno, materno, curso, nota; //char nombres[20],paterno[20],materno[20]; ofstream D1; D1.open("ArchA1.txt",ios::out); if (D1.fail()) { cout << "No es posible la Apertura "; exit(1);} else D1 << "Ingrese Valores "<<endl; cout<<"ingrese su nombre completo : "; getline(cin,nombres); cout<<"ingrese su apellido paterno:"; getline(cin,paterno); cout<<"ingrese su apellido materno: "; getline(cin,materno); cout << "Ingrese su curso "; getline(cin,curso); cout << "Ingrese Nota "; getline(cin, nota); D1 << nombres << endl<< paterno << endl<< materno << endl<< curso << endl<<nota<<endl; cout << "Extrae los Datos "<<endl <<"***************************"<<endl; cout << nombres << endl<< paterno << endl<< materno << endl<< curso << endl<<nota<<endl; D1.close(); system("pause");}
  • 7. //Añadir Texto al final de un archivo #include<iostream> #include<stdlib.h> #include<stdio.h> #include<fstream> #include<string> using namespace std; void anyadir(); void main(){ system("pause"); anyadir(); cout<<endl; system("pause"); } void anyadir(){ ofstream archi; archi.open("g:parchiprueba02.txt",ios::app);//Abrir el archivo para añadir if(archi.fail()){ cout<<"El archivo no existe "; system("pause"); exit(1); } archi<<"Debo agregar esta linea "<<endl; archi.close(); }
  • 8. Archivos Binarios ➢ Los archivos binarios almacenan información en bloques de bytes o byte a byte, en lugar hacerlo como caracter por caracter. ➢ Además esta forma de acceder a la información es muy importante sobre todo si se trata de recuperar la información que no es texto simple. ➢ Son por ejemplo, los ejecutable, un mapa de bits, etc. ➢ para acceder a ellos se debe utilizar el programa que los creo un programa que lea este tipo de archivo.
  • 9. #include<iostream> #include<stdlib.h> #include<fstream> #include<math.h> using namespace std; void main(){ int e=13; float g=13.77; double h=7.12358720,s=0, R=0; s=(2*e+5*g)/(sqrtf(h)); R=sqrtf(e)+powf(g,1.0/3)+powf(h,1.0/7); fstream bina0("binArchi.bin",ios::binary|ios::out|ios::app); archi.write((char*)&e,sizeof(int)); archi.write((char*)&g,sizeof(float)); archi.write((char*)&h,sizeof(double)); archi.write((char*)&s,sizeof(double)); archi.write((char*)&R,sizeof(double)); bina0.close(); system("pause"); } */ <>En esta aplicación, usamos la libreria #include<fstream>, propia para archivos <>Se crean las variables, con datos: e,g,h,etc, <> Creamos el enlace u Objeto bina0, creando el archivo binArch. <>fstream bina0(“binArchi.bin”,ios::binary|ios::out|ios: :app).i <> Ahora usamos el objeto bina0 para grabar información: bina0.write((char *))->apunta al nombre del archivo. &e-> toma la direccion de ‘e’, toma el espacio que ocupa de su tipo de dato de ‘e’.
  • 10. //Leyendo lo escrito en Iniciando 1 #include<iostream> #include<stdlib.h> #include<fstream> using namespace std; void main(){ int r;float k;double m,t,W; ifstream bina0("binArchi.bin",ios::binary); archi.read((char*)&r,sizeof(int)); archi.read((char*)&k,sizeof(float)); archi.read((char*)&m,sizeof(double)); archi.read((char*)&t,sizeof(double)); archi.read((char*)&W,sizeof(double)); cout<<"El entero es "<<r<<endl <<"El flotante es "<<k<<endl <<"Un double "<<m<<endl <<"Una Operacion = "<<t<<endl <<"Operacion con raices "<<W<<endl; bina0.close(); system("pause"); } <>Recuperando la información grabada con el comando “read” <> archi.read((char*)&r,size(int)); ->Lee la información en la posición que fue enviada.
  • 11. #include<fstream> #include<stdlib.h> #include<iostream> using namespace std; struct sDatos{ int Codigo; char Nombre[20]; float Sueldo; }; void main(){ sDatos EstDat; fstream Obj("filebin.dat ", ios::in | ios::out | ios::binary | ios::app); if (Obj.fail()) { cout << "Error de Apertura de filebin.dat " << endl; exit(0); } // Ingreso de Datos while (1) { cout << " Ingrese Código <0 Salir> : "; cin >> EstDat.Codigo; cin.get(); if (EstDat.Codigo == 0) break; cout << "Ingrese Nombre : "; cin.getline(EstDat.Nombre, 20); cin.get(); cout << "Ingrese Sueldo :"; cin >> EstDat.Sueldo; cin.get(); Obj.write((char*)&EstDat, sizeof(EstDat)); // Graba un Registro en Archivo y avanza puntero Obj.close(); } system("pause");} En esta aplicación usaremos una estructura para grabar archivos binarios. Se deja como ejercicio leer la información almacenada