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.