#inlcude <stdio.h>
#inlcude <stdlib.h>
#inlcude <string.h>
int main() {
char *buff = (char*)malloc(sizeof(char) * 5);
char *str = "abcdefghijklmnopqrstuvwxyz";
memcpy (buff, name, strlen(str));
while(*buff) {
printf("%c" , *buff++);
}
printf("\n");
return 0;
}
este código imprime toda la cadena "abc ... xyz". pero "buff" no tiene memoria suficiente para mantener esa cadena. ¿Cómo funciona memcpy()? usa realloc()?¿Memcpy() usa realloc()?
+1 para la respuesta a la pregunta directa. –
quiero usar este buffer para mantener una cadena en mi aplicación real. esa cadena no tiene una longitud predefinida. crece dinámicamente (añadiendo algunas otras cadenas ...) cuando el programa se está ejecutando. la solución que encontré es asignar algo de gran memoria (~ 1KB). Quiero saber si hay otras soluciones diferentes a esta ?. por favor ayuda. Gracias. – shan
@shan, entonces puede usar 'realloc()' (pero no 'memcpy()') para ese propósito. – iammilind