Ver Mensaje Individual
  #10 (permalink)  
Antiguo 23/07/2010, 12:51
CalgaryCorpus
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 16 años, 5 meses
Puntos: 61
Respuesta: concatenar varias cadenas

La reserva de memoria para un string tiene que considerar el caracter de marca de fin de string, por lo tanto, al pedir memoria, hay que sumar 1 a la cantidad de caracteres "visibles".

Para el caso particular, la variable buffer, al solicitar memoria tiene que sumar 1 a lo que ya pide, quedaria:

char * buffer = malloc(longitud +1);

En lenguaje C se define que sizeof(char) es 1, asi que es posible ahorrarse la multiplicacion por 1.