hi,
does anyone knows if is there a way to make getchar non blocking?
I'm using curses and I'm on linux platform. With a thread version of the same program I have solved my problems with getch and with the timeout function but now the program doesn't work properly and I must use
c=getchar();
if (c==0) c=getch();
Using timeout(1) makes non blocking only the c=getch part of this code but not the getchar one.
I have tried to solve this problem using this function
int kbhit(void)
{
struct timeval tv;
fd_set read_fd;
tv.tv_sec=0;
tv.tv_usec=0;
FD_ZERO(&read_fd);
FD_SET(0,&read_fd);
if(select(1, &read_fd, NULL, NULL, &tv) == -1)
return 0;
if(FD_ISSET(0,&read_fd))
return 1;
return 0;
}
and this code
if (kbhit())
c = getchar();
but the program doesn't work properly...
Does anyone knows a solution?
I'm 5 days in a row searching of solve this big problem unhappy