No lo pillo, no lo entiendo...........
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
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
