• Domingo 15 de Diciembre de 2024, 05:56

Autor Tema:  hacer un vector un registros,mientras lees fichero?  (Leído 844 veces)

pacorubio77

  • Miembro MUY activo
  • ***
  • Mensajes: 207
    • Ver Perfil
hacer un vector un registros,mientras lees fichero?
« en: Jueves 27 de Noviembre de 2008, 13:37 »
0
Hola,mirar yo tengo en un fichero lo siguiente:

1 b c
2 a b
....

cada linea es un registro
struct Tregistro{
       int origen;
        char simbolo;
       int destino;
};

y ahora quiero segun vaya leyendo ir metiendo en mi vector de registros Tregistro vector[100];

en la linea vector=aux....creo que está el error,el codigo es el siguiente:

Código: Text
  1. struct Tregistro{
  2.     int origen;
  3.     char simbolo;
  4.     int destino;
  5.  
  6. };
  7. Tregistro vector[100];
  8.  
  9. void LeerFichero(char fichero[]){
  10.  
  11.     fstream fic;
  12.     string linea;
  13.     Tregistro aux;  
  14.     int i=0;
  15.     fic.open(fichero,ios::in);
  16.    
  17.     if(!fic){
  18.  
  19.         cout<<"error,apertura del fichero"<<endl;
  20.     }
  21.     else{
  22.         //cout<<"aqui"<<endl;
  23.         //getline(fic,linea);
  24.         //cout<<linea<<endl;
  25.         fic.read((char*)&aux,sizeof(Tregistro));
  26.         while(!fic.eof()){
  27.             vector[i]=aux;
  28.             //cout<<"y aqui"<<endl;
  29.             cout<<vector[0].origen<<endl;
  30.             //getline(fic,linea);
  31.             //cout<<linea<<endl;
  32.             fic.read((char*)&aux,sizeof(Tregistro));
  33.         i++;    
  34.         }
  35.        
  36.     }
  37.     fic.close();
  38. }
  39.  
  40.  

me podeis ayudar???
un saludo,gracias.

Eternal Idol

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: hacer un vector un registros,mientras lees fichero?
« Respuesta #1 en: Jueves 27 de Noviembre de 2008, 14:27 »
0
Lo podes leer directamente sin usar ningun buffer auxiliar.

Código: Text
  1. fic.read((char*)&vector[i], sizeof(Tregistro));
  2.  

PONE EL CODIGO COMPLETO SIEMPRE POR FAVOR.

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.