No lo pillo, no lo entiendo...........

DavidVampiro
28 de Abril del 2005
Haver, este codigo de aqui no tendria que funcionar perfectamente?


void LeeTextoTeclado(char **texto)
{
unsigned short int estado = ESTADO_BUCLE;
unsigned long int indice = 0;
char tecla;
char *bufferTexto = NULL;

bufferTexto = (char*)malloc(999999999);

while(estado == ESTADO_BUCLE)
{
tecla = getch();

if(tecla == 'x1B')
{
estado = ESTADO_TECLA_ESCAPE;
break;
}

if(estado == ESTADO_BUCLE)
{
*(bufferTexto + indice) = tecla;
fflush(stdin);
indice++;
}
}

*texto = (char*)malloc(strlen(bufferTexto));

strcpy(*texto, bufferTexto);
free(bufferTexto);
}

no le agais caso si esta mal optimizado, solo me interesa saber si tendria que funcionar o no, el tema es que el usuario pueda escribir texto hasta que pulse la tecla ESC, pero al ejecutar el programa, si no se pulsa 2 veces la tecla ESC, pues como que no sale del bucle, y claro, lo que quiero es que con una sola vez que se teclee ESC pues que salga del bucle. gracias