[C con Clase] salir de bucle, al pulsar enter.

Steven Davidson srd4121 en njit.edu
Lun Ago 17 18:30:27 CEST 2009


Hola Bien1,

bien1 wrote:
> hola. el titulo del mensaje es bastante ambiguo. tengo el codigo:
> 
> for (getchar() != '\n') 
> {
>     codigo; //dentro del codigo no se hace ninguna llamada a scnaf o similar
> }
> 
> da igual que use un bucle do..while, o un while. en algun punto me
> pedira introducir un caracter por teclado, y hasta que se teclee se
> detiene la ejecucion.

La función 'getchar()' consulta el búfer del teclado para obtener 
caracteres. Si no hay caracteres en tal búfer, entonces automáticamente 
los pide al usuario.

> el objetivo es que la ejecucion del bucle continue indefinidamente
> hasta que no se pulse la tecla, en cualquier momento. que lea del
> buffer y compruebe si contiene el caracter enter.

Me temo que las bibliotecas estándares no realizan la tarea de recoger 
pulsaciones de las teclas. Para ello, podrías usar funciones no 
estándares como 'kbhit()' de Borland en "conio", 'GetAsyncKeyState()' en 
las API de MS-Windows, o alguna otra parecida en otra biblioteca.


Espero haber aclarado la duda.

Steven





Más información sobre la lista de distribución Cconclase