Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Cargando basura....... ?!

Iniciado por _Grey, 01 de Enero de 1970, 01:00:00 AM

« anterior - próximo »

_Grey

                                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.                                

sés

                                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:                                
Soy indeciso... ¿o no?

HgH

                               
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)

                               
gH _ TLOTB
..................
"No queremos estar obligados, por nada ni nadie, a pensar sólo en lo que es más comercial. Siempre seremos, antes que nada, programadores"

- Equipo de Zigurat -

_Grey

                                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  :-?                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.