[C con Clase] Pasar datos de un archivo a un vector
Steven Davidson
srd4121 en njit.edu
Vie Mar 20 07:16:44 CET 2009
Hola Pablo,
Pablo Brunet wrote:
> no amigo, el archivo que estoy abriendo fue generado con este
> algoritmo y si es un binario:
>
Analizando este código fuente junto con el otro que enviaste en otros
correos-e, he encontrado el problema. Escribes lo siguiente:
int main()
{
m = fopen( "pablo.txt"," rb" );
fseek( m, 0, 0 );
fread( &v, sizeof(v), 1, m );
...
}
Tienes el problema en la primera lectura. Indicas que cada elemento a
leer ocupa 'sizeof(v)' que en tu caso es '100*sizeof(p)' que puede ser
6000 bytes. Como no hay tantos bytes en el fichero, llegamos al final
del fichero, por lo que la condición del bucle 'while' es falsa.
Lo que seguramente querías hacer es leer el primer registro. Esto
vendría a ser lo siguiente:
fread( v, sizeof(v[0]), 1, m );
Además, escribiste que el primer parámetro es '&v', cuando realmente
debería ser 'v'. Recuerda que un array es una dirección de memoria.
Espero que esto te sirva.
Steven
Más información sobre la lista de distribución Cconclase