fflush 관련...

euka1의 이미지

int getNumber()
{
    char ch;
    int nRet;

fprintf(stderr, "input : ");

    while((ch = getch()) != '\n')
        nRet = nRet * 10 + ch - '0';

    return nRet;
}
int
main()
{
int i = getNumber();
printf(i);
int j = getNumber();
printf(i);
int k = getNumber();
printf(i);
return 0;
}

input : 12345
12345
input : 12346
1234512346
input : 12347
???

대강 이렇게 나오더군요.
저 getNumber() 함수를 쓰고 싶은데...
입력 버퍼에 데이타가 정상적으로 사라지지 않고 그냥 남아 있는데..
이 문제는 어찌 해결 하는지...

참고로.. fflush(stdin) <- 이거 사용해 봤는데 안되더군요.
ㅠㅠ

(OS는 sunOS 를 사용했다는.. ㅎㅎ)
서지훈의 이미지

그냥...
nRet 초기화 해주세요.
그리고 저런 결과는 정상입니다 ㅡㅡㅋ

<어떠한 역경에도 굴하지 않는 '하양 지훈'>

#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);