#include #include #include char *leeTexto(void); void main (void) { char *nombre; printf("Ingrese un nombre: "); nombre = leeTexto(); printf("\nNombre leido: %s\n",nombre); } char *leeTexto(void) { char buffer[200]; //arreglo de gran tama¤o char *pt; int longTexto; gets(buffer); //almacena el nombre en el arreglo longTexto = strlen(buffer); if (longTexto==0) return NULL; pt = (char*)malloc(sizeof(char) * (longTexto + 1)); // Se genera el espacio exacto // +1 para que almacene el 0 al final de texto strcpy(pt,buffer); // ambas instrucciones se pueden reemplazar por: // pt = strdup(buffer); return pt; // aqui de destruye el buffer y todas las variables locales }