[ Guru ] in KIDS 글 쓴 이(By): haebang (해방) 날 짜 (Date): 2000년 4월 4일 화요일 오후 05시 09분 38초 제 목(Title): curses를 이용한 hot key 구현??? 어떤 반복 작업을 하는 프로세스를 핫키( Ctrl+C 말고 'q' 나 'a') 와 같은 키를 눌러 종료하도록 하고 싶습니다. CnUnix 보드에서 curse를 이용한 간단한 쏘스를 받았는데 다음 과 같습니다. /* gcc thisfile.c -lcurses -ltermcap */ #include <curses.h> main(int argc, char **argv) { char c; int i=0; initscr(); cbreak(); noecho(); nonl(); intrflush(stdscr,FALSE); keypad(stdscr,TRUE); mvprintw(5,5,"Hello World!"); while((c=getch()) == ERR){ i++; }; endwin(); printf("\n%d",i); } 그런데 이렇게 하면 getch()에서 프로세스가 계속 기다리고 있기 때문에 i를 증가시키는 작업(i++)을 하지 못하고 결국 종료될때 i=0이 되어 버립니다. 제가 원하는건 키입력이 없으면 계속 i++을 하고 있다가 키입력이 들어오면 i 값찍고 끝내려고 하는데.. 어떻게 해야 할까요.???? 도움기다리겠습니다. 아 그리고 꼭 curse를 이용하지 않아도 됩니다. 다른 방법이라도 있으면.. |