C/Visual C - como pulsar una tecla para continuar con VC++??

 
Vista:

como pulsar una tecla para continuar con VC++??

Publicado por Alex (10 intervenciones) el 15/03/2004 19:56:44
Como puedo hacer una función en Visual C++ para que el programa se espere indefinidamente hasta que pulse alguna tecla??

He intentado usar getchar() y Kbhit() pero no me funcionan.
Alguien me puede ayudar?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:como pulsar una tecla para continuar con VC++??

Publicado por Nasón (40 intervenciones) el 15/03/2004 23:57:06
Se hace con getchar(). Puede que no tefuncione porque no hayas limpiado antes el buffer de entrada y haya almacenado, por ejemplo, el carácter nueva línea '\n'. Para solucionarlo basta con poner:
fflush(stdin);
justo antes de getchar();
La función fflush() está en stdio.h
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como pulsar una tecla para continuar con VC++??

Publicado por J. Oliver Beltran (166 intervenciones) el 16/03/2004 11:40:15
Otra solucion, si no te gusta eso de vaciar el buffer, es la de hacer un bucle hasta que se pulse una tecla detarminada. por ejemplo:
printf("Desea continuar (S/N)? ");
do
c=getchar();
while ((c!='S')&&(c!='N'));
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:como pulsar una tecla para continuar con VC++??

Publicado por Alex (10 intervenciones) el 27/03/2004 16:37:10
Todavia no me funciona!!!!
No me da ningún errror, pero sigue sin funcionar. (adjunto código)
En C puro si que me funciona, pero no en Visual C++

Existe alguna función específica para detectar el evento de una tecla pulsada? ¿KeyEvent o algo asi?

void CAverView::OnBucle()
{
char a='t';
do{
fflush(stdin);
a=getchar();
}while (a!='s');
AfxMessageBox("je je, he salido del bucle!!");


}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar