23/07/2010, 12:51
|
| | 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. |