마찬가지로,, kbhit을 대체할수 있는 방법을 찾다가;;
아직 해보지는 않았는데;;; 궁금하시면
아직 해보지는 않았는데;;; 궁금하시면
#include stdio.h> #include termios.h> #include unistd.h> #include sys/types.h> #include sys/time.h> /* This id to hide the character we type and suspend any prints after dir 1 , displayed ony when dir 0 */ void changemode ( int dir ) { static struct termios oldt, newt; if ( dir == 1 ) { tcgetattr ( STDIN_FILENO, &oldt ); newt = oldt; newt.c_lflag &= ~ ( ICANON | ECHO ); tcsetattr ( STDIN_FILENO, TCSANOW, &newt ); } else tcsetattr ( STDIN_FILENO, TCSANOW, &oldt ); } int kbhit ( void ) { struct timeval tv; fd_set rdfs; tv.tv_sec = 0; tv.tv_usec = 0; FD_ZERO ( &rdfs ); FD_SET ( STDIN_FILENO, &rdfs ); // select ( STDIN_FILENO + 1, &rdfs, NULL, NULL, &tv ); select ( STDIN_FILENO + 1, &rdfs, NULL, NULL, NULL ); printf(" After "); return FD_ISSET ( STDIN_FILENO, &rdfs ); } int main ( void ) { int ch; printf(" Press any Key to continue\n "); changemode ( 1 ); while ( !kbhit() ) { // putchar ( '.' ); } ch = getchar(); printf ( "\nGot %c\n", ch ); changemode ( 0 ); return 0; }http://vimtron.blogspot.com/2008/01/kbhit-for-linux.htmlf
'Study > C C++ ' 카테고리의 다른 글
MFC 전역변수 사용하기 (3) | 2009.12.20 |
---|---|
윈도우 mfc bzero (0) | 2009.12.09 |
getch() for Linux (0) | 2009.07.03 |
gcc , clrscr gotoxy (2) | 2009.07.02 |
온라인 man (0) | 2009.07.02 |
Bool (6) | 2009.07.02 |