SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: pmike en Sábado 25 de Diciembre de 2004, 14:12
-
Hola a todos
Como puedo leer un archivo binario "archBin" el cual lo abro, , lo leo, y lo quiero sacar por pantalla en texto normal legible (vamos q puedo entenderlo)
Y no me sale naaa
Aqui esta el codigo
int main(int argc, char **argv)
{
FILE *fp;
char cad[256]; //la cadena donde guardo los datos del archivo
if((fp=fopen("archBin.dat", "rb"))==NULL)
{
printf("error abrir"); //abrimos el archivo en cuestion
exit(1);
}
while (feof(fp))
{ //segun: size_t fread(void *ptr, size_t size, size_t n, FILE *stream);
if(fread(cad,sizeof(cad),20,fp)!=1)
{
printf("error leer");
exit(1);
}
printf("%s",cad); //y lo quiero sacar por la pantalla
}
fclose(fp);
return 0;
}
Gracias
-
He estado probando tu código. La función feof la estas usando al revés, debes poner:
Con eso entrarás en el bucle while (si el fichero existe).
Pon atención a tu fread, puesto que sizeof(cad) te devuelve 256, y estas pidiendo 20 bloques de 256 bytes. Si es lo quieres, todo correcto (a mi me dio problemas ;))
Espero haberte ayudado.
Nos vemos! :hola: