Logo

¡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.
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.