Título: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: samur88 en 3 Marzo 2011, 03:15 am Saludos.
Tengo la siguiente duda, estoy implementando un array de cadenas de caracteres de la siguiente forma, pero me da fallo de segmentación cuando intento guardar los datos, necesito usar una función que controle el número de caracteres a insertar como fgets, pero no conozco ninguna y fgets me da dicho error. Me gustaría saber por ocurra el fallo de segmentación y si hay alguna forma de solucionarlo. Dejo el código a continuación: Código
Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: .:BlackCoder:. en 3 Marzo 2011, 03:29 am Creo que debes asignarle memoria a esas cadenas... O hazlo asi:
Código
Saludos... Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: Ferno en 3 Marzo 2011, 03:35 am Tal cual dice BlackCoder. Cuando declarás una variable tipo char* tenés que pedirle memoria antes a la máquina para poder almacenar algo ahí! (a menos que le quieras asignar otra variable tipo char*, ahí no deberías pedir memoria).
Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: BlackZeroX en 3 Marzo 2011, 04:46 am .
la logica del uso de los punteros en base a la memoria esta herrada. Código
o Código
Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: Garfield07 en 3 Marzo 2011, 18:55 pm Código: No uses fflush... A ver si esto te ayuda: Código
Te pongo los for porque creo que tu código será más largo :P Un saludo! Sagrini[/code] Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: samur88 en 4 Marzo 2011, 15:09 pm Muchísimas gracias por las respuestas, me han sido de gran ayuda para comprender mejor los punteros.
Una preguntita, ¿con malloc habría alguna forma también de hacer lo que quiero? El caso es que quiero hacer eso por que tengo una función para meter datos en una estructura y los datos para simplificar el código se los quiero pasar mediante un array de cadenas. ¿Que veis mejor utilizar un array de cadenas o pasarle una estructura a la función con dichos datos? es mas que nada para quitarme complicaciones de punteros. Un saludo y gracias de nuevo. Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: Garfield07 en 4 Marzo 2011, 21:27 pm Con malloc es exactamente la misma estructura.
Un saludo! Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: samur88 en 4 Marzo 2011, 22:23 pm Pero tengo que usar estructuras para usar malloc, ¿no?
¿Que es mejor los métodos expuestos o usar una estructura? Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: Garfield07 en 5 Marzo 2011, 17:40 pm Creo que no tienes ni idea de qué es malloc ()... Sin ofender :P el desconocimiento te lleva al saber...
Código: http://c.conclase.net/librerias/?ansifun=malloc Un saludo! PD: No, no hacen falta estructuras :P Léete eso... Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: BlackZeroX en 5 Marzo 2011, 20:59 pm .
fflush() --> Forza la "muestra" de los datos en el buffer, y a su vez vacia a la misma, alternativa -> "\n". Dulces Lunas!¡. Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: samur88 en 6 Marzo 2011, 18:53 pm Muchas gracías estaba algo confuso con malloc ya creo que entiendo su funcionamiento.
Solo una cosa mas, ¿si no uso fflush(); podría generarse fallos en el programa?, es que he leido mucho en este foro, incluso un post de cosas que no se deben hacer, y una de ellas es utilizar fflush(), desde entonces no me hace gracia usarlo xD Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: Garfield07 en 6 Marzo 2011, 20:44 pm Título: Re: Fallo de segmentacion con fgets y Array de cadenas. Publicado por: samur88 en 7 Marzo 2011, 00:37 am Muchas gracias, aunque en ese caso estaría guardando la cadena con un salto de linea, ¿no?
|