[C con Clase] Pasar datos de un archivo a un vector

Steven Davidson srd4121 en njit.edu
Vie Mar 20 06:24:30 CET 2009


Hola Pablo,

Pablo Brunet wrote:
> tampoco me cierra por que aca no me muestra nada si es totalmente
> logico lo que estoy poniendo:
> 
>  i=0;
>  while (!feof(m)){
>        fread(&v[i],sizeof(v[i]),1,m);
>        cout<<v[i].nombre;
>        i++;  }
> 
> tendría que mostrar los nombres en ese caso. o no?
> 

Todo depende del formato u organización de la información contenida en 
el fichero. Según el código fuente que nos diste previamente, estás 
abriendo un fichero en modo texto (simple). Esto significa que la 
información se basa en caracteres. Por lo tanto, para leer y guardar la 
información debes procesar los caracteres y posiblemente convertirlos a 
otro tipo como 'int'. Para esto, no puedes leer la información 
directamente como lo has hecho con 'fread()', sino que debes leer 
caracteres y comprobar su representación. Esto último se puede lograr 
con 'fscanf()', si el formato no es muy complejo. Por ejemplo,

FILE *fichero;
int num;
char cad[10];

fscanf( fichero, "%s %d", cad, &num );


Espero haber aclarado el asunto.

Steven





Más información sobre la lista de distribución Cconclase