Guru

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ 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를 이용하지 않아도 됩니다. 다른 방법이라도 있으면..


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.