사용자로부터 입력을 받을때...

westdrm의 이미지

select함수를 사용해서 사용자로부터 입력이 있을때 gets나read같은 함수로 입력 받는거 말구요.

gets나 read같은 함수를 실행하고 사용자로부터 입력을 기다리다가 특정 시간이 지나도 입력이 없으면 리턴하는 그런거 없을까요?

갑자기 궁금해 져서요 ^^

moonzoo의 이미지

SIGALRM을 설정해 놓으면 될껏 같습니다.

간단한 예제를 올립니다.

#include <stdio.h>
#include <signal.h>

void sig_h(int sig);

int main(int argc, char **argv)
{
    char buff[128];
    signal(SIGALRM,sig_h);

    alarm(10);

    gets(buff);

    printf("\nThe End");

}

void sig_h(int sig)
{
    printf("sigalrm");
}
purewell의 이미지

ㅡ_-) 쓰레드도 괜찮은 방법일 듯 한데...

일정 시간이 지나면 표준입력을 닫아버리면,

gets/read가 끝나지 않을까요?

_____________________________
언제나 맑고픈 샘이가...
http://purewell.biz