해결된 질문
작성
·
628
0
텍스트파일은 -1로 EOF 를 나타내고
바이너리파일은 아니라고 하셨는데
그러면 바이너리파일의 EOF 는 무슨값인가요?
답변 1
3
따로 없습니다. 파일의 크기 정보는 운영체제가 이미 알고 있습니다. 다만 데이터를 읽는 과정에서 데이터만 보고 확인할 수 있도록 EOF를 파일의 끝으로 인식하면 텍스트 모드이고 그렇지 않으면 일반 바이너리 모드라고 부르는 것입니다.
바이너리 파일은 파일 내용만으로 파일의 끝을 알 수 없습니다. 그러나 텍스트 파일은 EOF(-1값)로 알 수 있지요. 이렇게 하는 가장 큰 이유는 문자열의 끝은 정확히 알 수 없는 경우가 많기 때문입니다. 특히 사용자가 현재 직접 타자쳐서 입력하는 문자열 입력의 끝은 정확이 어디가 끝이라고 말 할 수 없습니다. 입력하는 사람 마음에 달렸기 때문입니다.
EOF의 값은 int형으로 해석했을 때 -1입니다. 참고하시기 바랍니다.