Guest User

C++ - Estructura a disco en modo binario y recuperarla

a guest
Feb 22nd, 2012
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.75 KB | None | 0 0
  1. /*
  2.  * Código presentado por Elinv.
  3.  * http://todocporelinv.blogspot.com/
  4.  * ----------------------------------------
  5.  * cholowinner.dat
  6.  * Grabar una estructura a disco
  7.  * Luego obtener la información
  8.  * y mostrarla en la misma estructura
  9.  * Lectura y escritura de un archivo en modo binario
  10.  * Alinear nuestra presentación a la derecha.
  11.  * ----------------------------------------
  12.  * Agradecemos también a : http://pastebin.com
  13.  * ----------------------------------------
  14.  * CODE BLOCK 10.05 - Console Application
  15.  * C++
  16.  * ----------------------------------------
  17.  * GEANY 0.21
  18.  * Construir y Ejecutar
  19.  * Cualquier mejora, corrección por favor
  20.  * Nos la acercan.
  21.  */
  22.  
  23. //Librerías
  24. #include <iostream>
  25. #include <fstream>
  26. #include <cstring>
  27. #include <iomanip>
  28. using namespace std;
  29.  
  30. //Estructura
  31. struct CholoHisto
  32. {
  33.     char nombre[50];
  34.     char nacionalidad[35];
  35.     int edad;
  36.     char estado_civil[20];
  37.     char domicilio[70];
  38.     char documento[20];
  39.     char mail[50];
  40. };
  41.  
  42. //Procedimiento principal
  43. int main()
  44. {
  45.     //Definimos el tipo cholo para la entrada
  46.     //y guardado de datos en el archivo ".dat"
  47.     CholoHisto cholo;
  48.  
  49.     //Definimos el tipo cholowinner para la
  50.     //recuperación de información desde el disco
  51.     CholoHisto cholowinner;
  52.  
  53.     //Inicializamos el tipo cholo definido mas arriba
  54.     strcpy(cholo.nombre, "Luis Pedro Mendez");
  55.     strcpy(cholo.nacionalidad, "Argentino");
  56.     cholo.edad = 51;
  57.     strcpy(cholo.estado_civil, "Casado");
  58.     strcpy(cholo.documento, "13.333.333");
  59.     strcpy(cholo.mail, "[email protected]");
  60.  
  61.     //Donde guardaremos la información
  62.     ofstream fsalida("cholo.dat",
  63.                      ios::out | ios::binary);
  64.     //Escribimos en el archivo de salida
  65.     fsalida.write(reinterpret_cast<char *>(&cholo),
  66.                   sizeof(CholoHisto));
  67.     //Cerramos el archivo.
  68.     fsalida.close();
  69.  
  70.     //Instanciamos el archivo para abrirlo
  71.     ifstream fentrada("cholo.dat",
  72.                       ios::in | ios::binary);
  73.     //Leemos la información reinterpretándolay ajustándola
  74.     //a nuestra estructura en el destino de la definición
  75.     //antes creada cholowinner
  76.     fentrada.read(reinterpret_cast<char *>(&cholowinner),
  77.                   sizeof(CholoHisto));
  78.     //Cerramos el archivo.
  79.     fentrada.close();
  80.  
  81.     //Tenemos a nuestra disposición la información.
  82.     cout << setw(30) << cholowinner.nombre << endl;
  83.     cout << setw(30) << cholowinner.nacionalidad << endl;
  84.     cout << setw(30) << cholowinner.edad << endl;
  85.     cout << setw(30) << cholowinner.estado_civil << endl;
  86.     cout << setw(30) << cholowinner.documento << endl;
  87.     cout << setw(30) << cholowinner.mail << endl;
  88.  
  89.     //pausa
  90.     system("PAUSE");
  91.     //Salimos.
  92.     return 0;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment