[C con Clase] Manejo de memoria en C

Adrian Ferreres Esteller raro82 en hotmail.com
Mie Nov 28 19:35:39 CET 2007


Hola lista:

  Tengo un problema sobre manejo de mapeados de memoria en C. Tengo mapeado un fichero en memoria. Ese fichero tiene la forma de:

Etiqueta Valor1#Valor2#Valor3

y tengo que cambiar los separadores # por los separadores |. Tengo un puntero a void llamado pAux1 que me apunta a la direccion de memoria inicial y el codigo que uso es el siguiente

While ((pAux1 = memchr(pAux1,'#',LONG_LINEA) != NULL) 
        memset (pAux1,'|',sizeof(char));



El resultado de ejectuar esta sentencia es segmentation fault y me da al ejecutar el memset. Es decir, logueo el valor de pAux1 antes del bucle y antes del memset y se que es correcto y que esta apuntando a la # pero al ejecutar el memset casca. ¿Alguien sabe porque?


Muchas Gracias por vuestro tiempo

P.D: Por si alguien lo dudaba, LONG_LINEA es una constante que vale la longitud maxima de una linea del fichero mapeado en memoria

_________________________________________________________________
Tecnología, moda, motor, viajes,…suscríbete a nuestros boletines para estar a la última
http://newsletters.msn.com/hm/maintenanceeses.asp?L=ES&C=ES&P=WCMaintenance&Brand=WL&RU=http%3a%2f%2fmail.live.com
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20071128/eee03250/attachment.html>


Más información sobre la lista de distribución Cconclase