Como Guardar una Estructura de C++

En el siguiente ejemplo muestro como guardar los datos de una estructura en un archivo binario


#include <iostream>
#include <conio>
#include <stdio>
//Declaro una funcion para invocarla posteriormente en el main()
int funcionclientes();

int main()
{
//Llamo a la funcionclientes, la cual esta creada abajo
funcionclientes();
}

//Aqui inicio la funcionclientes
int funcionclientes()
{
int i;
//Declaro la estructura Clientes
struct clientes
{
 char nit[12];
   char nombre[20];
   char direccion[30];
   int telefono;
   char e_mail[25];
};
//Hago un arreglo para indicar que deseo guardar 2 Clientes
clientes datos[1];
//Recorro la estructura, para irle almacenando los datos que ingrese el usuario
for (i=0; i<2; i++)
 {
   cout<<"Ingrese los datos del cliente ";cout<<(i+1);cout<<"\n\n";
   cout<<"Ingre el NIT "; cin>>datos[i].nit;
   cout<<"Ingre el Nombre "; gets(datos[i].nombre);
   cout<<"Ingre la Direccion "; gets(datos[i].direccion);
   cout<<"Ingre el Telefono "; cin>>datos[i].telefono;
   cout<<"Ingre el e-mail "; cin>>datos[i].e_mail;
   cout<<"\n\n";
   clrscr();
   }
clrscr();
cout<<"Los Datos Ingresados Fueron: \n";
//Recorro la estructura clientes para mostrar en pantalla los datos ingresados
for (i=0; i<2; i++)
 {
   cout<<"NIT: ";cout<<datos[i].nit;cout<<" ";
   cout<<"Nombre: ";cout<<datos[i].nombre;cout<<" ";
   cout<<"Direccion: ";cout<<datos[i].direccion;cout<<" ";
   cout<<"Telefono: ";cout<<datos[i].telefono;cout<<" ";
   cout<<"e-mail: ";cout<<datos[i].e_mail;cout<<"\n";
   }
//Guardo en un archivo binario, los datos de la estructura Clientes
    FILE *guardar_clientes;
    guardar_clientes = fopen("cliente.bin","ab+");
    fwrite(&datos,sizeof(datos),1,guardar_clientes);
    fclose(guardar_clientes);
//Aviso al usuario que se ha guardado la estructura
    cout << "\nCliente Guardado Satisfactoriamente" << endl;
   getch();
   return 0;
   }


Código escrito por:  Joél Rodríguez


2 comentarios:

Unknown dijo...

Y si lo quiero leer?

Esperancito dijo...

Si el problema es realmente molesto puedes intentar cambiar el TV, puedes probar un TV del mismo modelo ya que es muy aleatorio este problema y puede que un mismo modelo tenga o no clouding. En principio según la ley de cada país tienes unos 7 dias para devolver al TV sea cual sea el motivo. Si el clouding es muy evidente debería entrar en garantía pero ese problema es ya una "lucha" con los fabricantes y tiendas que los venden http://tecniciencias.com/

Publicar un comentario

 
Design by Free WordPress Themes | Bloggerized by Lasantha - Premium Blogger Themes | Design Blog, Make Online Money