Ver Mensaje Individual
  #3 (permalink)  
Antiguo 25/03/2008, 11:51
Avatar de aloqui
aloqui
 
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 5 meses
Puntos: 24
Re: Error con free

Cita:
Iniciado por Leber Ver Mensaje
Peta ahi. La verdad no se que estoy haciendo mal, si alguien pudiera ayudarme... se lo agradeceria mucho.

Gracias de antemano
Para lo que estás haciendo en realidad no es impresdincible memoria dinámica ya que estás reutilizando dentro del bucle la misma variable (con distinto tamaño) una y otra vez.
Para estos casos es mas recomentable utilizar memoria estática (local o global) que dimensiones suficientemente grande para manejar los nombres mas largos (directorio+fichero). Por ejemplo con 500 carácteres creo que tienes suficiente.
Además de que ya no te va a fallar, el código queda mucho más simple y de propina
te funcionará más rápido.

Cita:
Iniciado por Mephisto Ver Mensaje
De manera particular, casi no me gusta usar free ya que me encontraba problemas como los que mencionas, en vez de hacer eso, lo que hago es a traves de un memset limpiar el espacio de memoria que emplee para no dejar basura y despues referencio el apuntador a NULL. No se si esto te pudiera servir.
No te ofendas, pero eso es una chapuza. Vas dejando memoria sin liberar continuamente, si lo haces en un programa que maneje muchos datos, al final te quedas sin memoria.
__________________
Grupos de Música
Pop Music Stars