On Tue, Mar 11, 2003 at 04:11:36PM -0300, Matías nnss wrote: > char * regreso; strcpy(regreso, "");
El problema ahí lo tendrás si no estás reservando memoria para el string regreso, o si no estás reservando suficiente memoria para lo que vas a escribir ahí con el strcpy, pues este no reserva memoria, sólo copia. Sacado del man de strcpy(): "Si la cadena destino de un strcpy() no es bastante grande (esto es, si el programador fue estúpido o perezoso, y no comprobó el tamaño antes de la copia) entonces puede ocur rir cualquier cosa. Provocar el desbordamiento de cadenas de caracteres de longitud fija es una técnica favorita de los piratas informáticos." Una opción (a parte de usar tú mismo el malloc) para reservar la memoria justa que necesitas para la cadena es utilizar strdup, que te crea un duplicado del string que le pases reservando la memoria necesaria: char *strdup(const char *s); > Pero bueno, eso me lo merezco por querer aprender C yo solito. Equivocarse es una buena forma de aprender así que no desesperes. Un saludo.