본문 바로가기
Research/Programming

fflush(stdin)? __fpurge(stdin)!

by sunnyan 2012. 2. 10.
728x90
간단한 테스트 프로그램을 짜려고 getchar()를 사용하다가 뻘짓만.... ㅡ.ㅡ

while(1)
{
   print_usage();
   choice = getchar();
   switch(choice)
   {
    어쩌고...
       choice2 = getchar();
    저쩌고...
   }
}

위와 같이 만들면 두번째 입력에서 꼭 엔터키가 먹어버리는 현상이 발생한다.

그래서, getchar() 다음에 __fpurge(stdin) 실행하면 원하는 대로 결과를 얻을 수 있다.

아래 방법은 테스트 해보지 않았음.
while (getchar() != '\n') continue;


728x90