Ver Mensaje Individual
  #7 (permalink)  
Antiguo 09/04/2007, 18:19
Avatar de Instru
Instru
 
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años, 1 mes
Puntos: 52
Re: Manejo de archivo binario

Cita:
Iniciado por bilkarm3 Ver Mensaje
¿Quedo bien? ¿califiación?
Código PHP:
void binario()
{
   
int ij;
   
int *array;
   
FILE *fichero;
   
clrscr();
   
fichero fopen("binario.txt""r");
   
fseek(fichero0SEEK_END);
   
ftell(fichero);
   
fseek(fichero0SEEK_SET);
   array = new 
int [i];
       
fread(array, sizeof(unsigned int), ifichero);
   for (
j=0;j<=i;j++)
   {
      
cout<<"Posicion del Arreglo: "<<j<<" Valor guardado: "<<array[j]<<endl;
   }
   
getchar();
   
delete [] array;
   
fclose(fichero);

Bien, vas mejorando.
Solo que hay un pequeño problema:
fread(array, sizeof(unsigned int), i, fichero);

Esto te va a leer 4 veces lo que necesitas. Porque un unsigned int es de 32 bits, es decir, 4 bytes. Y como ftell te dice el numero de bytes.....
Te recomendaria algo asi:

fread(array, 1, i, fichero);

Aunque eso te va a alterar un poco tu array asi que una mejor forma:

for(...)
fgetc(array[i])

Algo asi (en pseudocodigo)

Aunque todavia te falta el parseo(descartar espacios, saltos de lineas, etc, etc)

Saludos