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

Pablo Brunet cirujatuc79 en gmail.com
Vie Mar 20 04:04:55 CET 2009


ahora si que me perdi....:( pero lo analizare

El 19 de marzo de 2009 23:56, Steven Davidson <srd4121 en njit.edu> escribió:

> Hola Pablo,
>
> Pablo Brunet wrote:
>
>> sigo con problemas :(, ahora no me muestra nada, solo presione una
>> tecla para continuar..., el archivo posee 2 registros en este orden:
>>
>> TUCUMAN    JUAN    31
>> SALTA       PABLO    29
>> # include <stdio.h>
>> # include <stdlib.h>
>> # include <iostream>
>>
>> using namespace std;
>>
>>
>> typedef struct p {
>>       char nombre[20];
>>       int edad;
>>       char provincia[30];};
>>        FILE * m;        int i=0;
>> p v[100];
>>
>> int main()
>> {
>>  m=fopen("pablo.txt","rb");
>>
>
> Esto es un problema, porque indicas que el fichero está en modo binario,
> cuando se trata de un fichero en modo texto. Elimina la letra 'b' de la
> segunda cadena.
>
>   fseek(m,0,0);
>>  fread(&v,sizeof(v),1,m);
>>
>
> Como cada registro tiene diferentes tipos: cadenas y enteros, entonces no
> deberías leer toda la información de golpe. Tienes que procesar cada línea
> de texto en el fichero. En la práctica, usa 'fscanf()'. Básicamente, estás
> leyendo y convirtiendo, si hace falta, las cadenas de caracteres al tipo que
> quieres. Esto es prácticamente leer la información desde el teclado con
> 'scanf()', pero en su lugar lo hacemos desde un fichero.
>
> Nota: La verdad es que la implementación de 'scanf()' invoca 'fscanf()'.
>
>   i=1;
>>  while (!feof(m)){
>>       cout<<endl<<"  "<<v[i].provincia<<"  "<<v[i].nombre<<"
>>  "<<v[i].edad<<endl;       fread(&v[i],sizeof(v[1]),1,m);
>>
>
> Aquí haríamos lo mismo.
>
>        i++;}
>>  fclose(m);
>>
>>  system("PAUSE");
>> }
>>
>>
>
>
> Espero que esto te ayude
>
>
> Steven
>
>
>
> _______________________________________________
> Lista de correo Cconclase Cconclase en listas.conclase.net
> http://listas.conclase.net/mailman/listinfo/cconclase_listas.conclase.net
> Bajas: http://listas.conclase.net/index.php?gid=2&mnu=FAQ
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20090320/dfeea0bf/attachment.html>


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