[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