thre1009   2년 전

아래 코드의 '초기화'를 진행하는 부분에서 rewind(stdin)이 들어가면 50%에서 틀렸습니다가 나오고, 저 부분만 빼면 맞았습니다가 뜹니다.

rewind가 코드 내에서 특별한 의미가 있다기 보다는, getchar()말고 입력버퍼를 비울 방법이 없나 이것저것 찾아보다가 rewind라는 것을 찾아서 써보니 틀렸습니다가 뜨는데 이유를 모르겠습니다.

검색해본 바로는 rewind는 파일 포인터의 위치를 처음으로 되돌리는데, 이걸 표준입력에 쓰면 버퍼에 남은 문자들을 전부 비우는 것과 동일한 기능을 한다고 되어 있었는데... 이 친구도 fflush마냥 표준이 아닌건가요?

rewind가 정말로 표준입력버퍼를 비우는 역할을 한다면 저 위치에 들어가 있다고 한들 입력값에는 변화가 없어야 할 것 같은데 말입니다.

thre1009   2년 전

아 이런 올리자마자 다른 문제의 rewind 관련 질문글을 발견했네요.

이 친구도 표준이 아니어서 그렇군요. 자문자답한 꼴이 됐네요 ㅋㅋ;

댓글을 작성하려면 로그인해야 합니다.