C에서의 getchar()함수에 대한 질문

유훈이의 이미지

C에서 getchar()함수는

123이란 입력을 받은후

a = getchar()

a출력-->1에대한 아스키코드값

a=getchar()

a출력-->2에대한 아스키 코드값..

이렇게 getchar()를 하나씩 반복할때마다

버퍼에저장된 다음값을 받아들이는것으로 알고 있는데요..

예를들어 3까지 받아들인후 다시 2를 받아들이기위해 전 버퍼에 저장된 값을 받고 싶은데

방법이 없는건가요?(변수를 만든후 변수에 저장했다가 다시 불러내는 방법이 말고요)

s4bz의 이미지

버퍼에서 읽어들이는 순간 버퍼에서는 사라지는것으로 알고있습니다.

버퍼에서 다시 읽는것은 불가능할듯;;

아~~

cinsk의 이미지

바로 한 단계 뒤로 돌아가는 것은 ungetc(3)를 쓰면 됩니다. n 단계 뒤로 돌아가려면 직접 stream 처리 모듈을 만들어야 합니다.

--
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://www.cinsk.org/cfaqs/