키보드로 입력받는거에서요..
글쓴이: samdochen / 작성시간: 금, 2004/01/16 - 10:48오전
void menu(void)
{
unsigned int s;
printf("\n Enter the number you wish to setup(Exit = 'x') => ");
while(1)
{
s = getchar();
if((s>= 0x30) && (s <= 0x7f))
{
switch(s)
{
case '0':
menu_test();
break;
case '1':
menu_test();
break;
case '2':
menu_test();
break;
case '3':
menu_test();
break;
default : break;
}
}
if(s == 'x' || s == 'X') break;
}
return;
}
이렇게 했을때요.
소스는 기본적인것을 생략하고 설명하기 위해 간단히 적었습니다.
컴파일에서 에러는 없어요.
실행했을때 키보드입력받는곳에서 걸리네요.
./menu & 이랬을때,
키보드만 치면 일시정지가 되버려요.
ps로 확인해보면 상태가 T로 되버리더라구요.
왜 그런지 모르겠습니다.
Forums:


동작에는 이상없는듯 한데여...다만 의도는 한개의 char를 받을려는
동작에는 이상없는듯 한데여...
다만 의도는 한개의 char를 받을려는것같은데 그렇다면 다른방법을 사용하셔야할듯하군여.
이렇게하면 1 ,enter 했을때 두개가 입력된게 되니까여.
한번더돌아두 소스상으로 크게 상관은 없겠지만여.
백그라운드
menu & 로 실행하셨기 때문입니다.
&로 인해 프로세스가 백그라운드에서 실행됩니다.
터미널에서 입력을 받으실려면 & 를 지워주세요.
댓글 달기