Cita de: engel lex en 28 Septiembre 2016, 22:59 PMFuncionó , gracias!
veo que no estás acustumbrado a trabajar con tan bajo nivel... te explico...
cada vez que hacerCódigo [Seleccionar]char * algo
simplemente estás dandole una posición de memoria a "algo" pero no estás reservando el espacio... así que cuando intentas acceder a la memoria da core dump...
tienes 2 caminos... o asignas memoria dinamicamente (malloc, calloc) o predefines el char a lo más largo posible... no importa que el char tenga más espacios asignados de lo necesario, las funciones sobre strings (printf, strlen, etc) se limitan a leer hasta conseguir un caracter de terminación ('\0')
por que funciona bien esto?Código [Seleccionar]char * algo = "otra cosa";
cuando el compilador hace su trabajo, revisa que tiene que apartar el espacio de memoria y así lo hace