No detecto EOF
Publicado por Jose Luis (3 intervenciones) el 14/11/2009 22:15:27
Buen dia,
Solicito su orientación para poder detectar el fin de archivo y salir del bucle.
Anexo las instrucciones que estoy utilizando.
Cabe mencionar que soy nuevo en C y estoy leyendo archivos binarios SEGY.
f1 = fopen (name, "rb");
...
fseek(f1,3600,SEEK_SET);
while (!feof(f1))
{
for (i=0;i<=50;i++)
{
if (i!=0) fseek (f1, pt[i] - pt[i-1] - ft[i-1], SEEK_CUR);
if (ft[i] == 2)
{
fread (&int2, sizeof(int2), 1, f1);
printf ("%11d ", entero2(int2));
}
else
{
fread (&int4, sizeof(int4), 1, f1);
printf ("%11d ", entero4(int4));
}
}
fseek (f1, _nsmp * _smpl + (241 - pt[i-1] - ft[i-1]) , SEEK_CUR);
printf(" %d \n", feof(f1));
}
fclose(f1);
Saludos desde Villahermosa, Tabasco, Mexico, America.
José Luis
Solicito su orientación para poder detectar el fin de archivo y salir del bucle.
Anexo las instrucciones que estoy utilizando.
Cabe mencionar que soy nuevo en C y estoy leyendo archivos binarios SEGY.
f1 = fopen (name, "rb");
...
fseek(f1,3600,SEEK_SET);
while (!feof(f1))
{
for (i=0;i<=50;i++)
{
if (i!=0) fseek (f1, pt[i] - pt[i-1] - ft[i-1], SEEK_CUR);
if (ft[i] == 2)
{
fread (&int2, sizeof(int2), 1, f1);
printf ("%11d ", entero2(int2));
}
else
{
fread (&int4, sizeof(int4), 1, f1);
printf ("%11d ", entero4(int4));
}
}
fseek (f1, _nsmp * _smpl + (241 - pt[i-1] - ft[i-1]) , SEEK_CUR);
printf(" %d \n", feof(f1));
}
fclose(f1);
Saludos desde Villahermosa, Tabasco, Mexico, America.
José Luis
Valora esta pregunta
0