Reputation: 1887
as you know, when using getch() in windows, the applications waits for you until you press a key,
how can i read a key without freezing the program , example :
void main(){
char c;
while(1){
printf("hello\n");
if (c=getch()) {
.
.
.
}
}
thank you.
Upvotes: 10
Views: 47888
Reputation: 556
I needed similar functionality in a console application in Linux, but Linux don't provide kbhit
function. On searching Google, I found an implementation at -
http://www.flipcode.com/archives/_kbhit_for_Linux.shtml
Upvotes: 1
Reputation: 1700
You can use kbhit()
to check if a key is pressed:
#include <stdio.h>
#include <conio.h> /* getch() and kbhit() */
int
main()
{
char c;
for(;;){
printf("hello\n");
if(kbhit()){
c = getch();
printf("%c\n", c);
}
}
return 0;
}
More info here: http://www.programmingsimplified.com/c/conio.h/kbhit
Upvotes: 13