#include #include #include #include #include char *leetexto(int col, int fil, int largo_cadena); void main(){ char *nom; clrscr(); nom=leetexto(10,5,15); printf("\n\nNombre ingresado %s",nom); getch(); } //Lee un texto de n caracteres en un lugar de la pantalla //Devuelve: string con texto ingresado //Par metros: col Columna donde se ingresa // fil Fila donde comienza // largo_cadena Cu ntas letras se ingresar n char *leetexto(int col, int fil, int largo_cadena){ #define ENTER 13 #define ESCAPE 27 #define RETROCESO 8 int cant_letras=0; //Cantidad de letras ya ingresadas char letra; //La letra pulsada char *resultado="", //String resultante str_aux[2]=""; //Letra ingresada transformada en string //Se muestran separadores en el lugar donde se ingresa gotoxy(col,fil); printf("["); gotoxy(col+largo_cadena+1,fil); printf("]"); resultado=(char *) malloc(largo_cadena+1); while (cant_letras0){ cant_letras--; gotoxy(col+cant_letras+1,fil); printf(" ");} //Si es Escape no se devuelve nada else if (letra==ESCAPE){ cant_letras = 0; break; } } //Se agrega un NULL al final de la cadena resultado[cant_letras]=NULL; return resultado; }