실행중인 함수를 키보드 인풋으로 제어하는 것은.. 어떻게 해야
글쓴이: lezzgo / 작성시간: 금, 2005/11/04 - 2:27오후
안녕하세요..
제가 리눅스에서 공부중 인데요..
구현하고 싶은것은 랜덤 숫자가 계속 출력되다가
키보드의 'q'키를 입력받으면 중단되고
다른키를 누르면 그것에 해당하는 루틴을 실행하는 건데요
getchar() 로 구현하니 거기서 키보드 입력이 들어올때 까지 멈춰서있네요....
어떠한 방법이 없을까요?
#include <stdio.h> #define RAND_MAX 10 int randf(); int main(){ char c; while(1){ c = getchar(); if(c == 'q') break; printf("%d", randf()); } return 0; } int randf() { int n = 0; int i = 0; srand( time(NULL)) ; n = 1 + (int)(10.0*rand()/(RAND_MAX + 1.0)); for(i = 0 ; i<1000000; i++); return n; }[/code][/list]
Forums:
ncurses 의 getch 를 이용하는 방법이 있구요...ioc
ncurses 의 getch 를 이용하는 방법이 있구요...
ioctl 을 이용해서 /dev/stdin 에 약간의 조정을 가한 후 ... stdin 을 논블럭 모드로 열어서 처리하는 방법도 있습니다...
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
답변 감사드립니다.하지만 제 컴파일러가 getch를 몰라보네요..^^
답변 감사드립니다.
하지만 제 컴파일러가 getch를 몰라보네요..^^
음. 저같은 경우는 그런 경우에, 서버였는데, NetIO와 KeyIO를
음. 저같은 경우는 그런 경우에, 서버였는데, NetIO와 KeyIO를 같은 형식의 객체로 만들어서 폴러에 던져놨었습니다.
----------------------------
May the F/OSS be with you..
#include <ncurses.h>-lncurse
#include <ncurses.h>
-lncurses
---------
간디가 말한 우리를 파괴시키는 7가지 요소
첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스
이익추구를 위해서라면..
다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치
댓글 달기