Foros - Stratos

Programadores => General Programadores => Mensaje iniciado por: _Grey en 01 de Enero de 1970, 01:00:00 AM

Título: Cargando basura....... ?!
Publicado por: _Grey en 01 de Enero de 1970, 01:00:00 AM
                                Pues resulta que tengo una funcion donde se carga un texto en memoria, y despues lo va leyendo los datos del objeto 3D , es un texto tipo .ASC, la cuestion es que me a dado algunos errores, y despues de investigar un rato, e descubierto que me lee "basura" es decir, lee el fichero y despues de este aparece una especie de "texto residual" que confunde la rutina que lo lee, lo cargo de esta forma:

fich=fopen(file,"rt");
if (fich==NULL) return(NULL);
ini=(char *)malloc(filelength(fileno(fich)));//MEMORIA PARA GUARDAR FICHERO
if(ini==NULL) {
AfxMessageBox("MEMORIA INSUFICIENTE!!!!",0,0);
fclose(fich);
return NULL;
   }
ZeroMemory(ini,filelength(fileno(fich)));   // Limpia la memoria donde se pondra el texto a leer
fread(dat,filelength(fileno(fich)),1,fich);// LEE FICHERO

...
...
...
...

fclose(fich);

como veis tiene un ZeroMemory(), por que, curiosamente este error ya me lo sacaba antes y pense que seria de utilizar memoria sucia y consegui que funcionase bien con eso, ahora bien, ahora me hace igual y no se como cogermelo, alguien sabe como solucionarlo???

Saludox.                                
Título: Cargando basura....... ?!
Publicado por: sés en 01 de Enero de 1970, 01:00:00 AM
                                No sé si habrás escrito mal en el post pero...

1. Asigas memoria a ini.
2. Rellenas con ceros ini (aunque sobraría).
3. Lees el contenido del fichero en dat :agh:                                
Título: Cargando basura....... ?!
Publicado por: HgH en 01 de Enero de 1970, 01:00:00 AM
                               
Citar
El 2002-10-02 03:40, _Grey escribió:
... me lee "basura" es decir, lee el fichero y despues de este aparece una especie de "texto residual" que confunde la rutina ..

Prueba a abrir el fichero con "rb" (aunque sea texto)

                               
Título: Cargando basura....... ?!
Publicado por: _Grey en 03 de Octubre de 2002, 03:12:20 PM
                                Gracias!!! ya funciona!

[Contestando a sés]

Escrivi mal el post :oops: , logicamente en el programa esta el dat=ini, pero buena observacion :)

[Contestando a HgH]

Has dado en el clavo, pero no se el porque de que ocurra esto  :-?