/* by hkpco(ChanAm Park) hkpco@korea.com http://hkpco.kr/ getch() function in ANSI-C implementation */ #include #include #include int hk_getch( void ); int main( void ) { char ch; ch = hk_getch(); printf( "your input: %c\n", ch ); return 0; } int hk_getch( void ) { char ch; struct termios t_old, t_new; tcgetattr( STDIN_FILENO, &t_old ); // Ç¥ÁØ ÀÔ·Â Å͹̳ΠÁ¤º¸¸¦ ÀúÀå t_new = t_old; // tcgetattr() ÇÔ¼ö·Î ¾òÀº Á¤º¸¸¦ t_new¿¡ ¹é¾÷ t_new.c_lflag &= ~(ECHO | ICANON); // ECHO, ICANON flag off // ÀÔ·Â ¹ÝÇâ ±â´É°ú Á¤±Ô¸ðµå¸¦ OFF tcsetattr( STDIN_FILENO, TCSANOW, &t_new ); // ¿ì¸®°¡ ¼³Á¤ÇÑ °ªÀ¸·Î Å͹̳ΠÁ¤º¸¸¦ Áï½Ã º¯°æ read( 0, &ch, 1 ); // 1byte ÀÔ·Â tcsetattr( STDIN_FILENO, TCSANOW, &t_old ); // ¿ø·¡ÀÇ Å͹̳ΠÁ¤º¸·Î Áï½Ã º¯°æ return ch; }