Solaris 10 11/06 릴리스 노트

STDIO getc 그룹 EOF 조건 동작 변경

엄격한 표준 C 준수 모드에서 작성된 응용 프로그램은 특정 라이브러리 함수의 동작 변경으로부터 영향을 받습니다. 그 한 가지 예로는 cc -Xc 또는 c89 컴파일 모드를 사용하여 컴파일된 응용 프로그램입니다. 다음 라이브러리 함수의 동작이 변경되었습니다.

1990 C 표준의 공식적인 해석에 따르면 EOF(End-Of-File) 조건이 설정되면 후속 입력 작업에 대해 파일에서 더 이상 데이터가 반환되지 않습니다. 파일 포인터가 재배치되거나 오류 및 EOF 플래그가 응용 프로그램에서 명시적으로 지워진 경우는 예외입니다.

나머지 모든 컴파일 모드의 동작은 변경되지 않았습니다. 특히 EOF 표시기가 설정된 후에도 이 인터페이스들은 새로 작성된 추가 데이터를 스트림으로부터 읽을 수 있습니다.

해결 방법: 스트림에서 EOF 조건이 보고된 후에 추가 데이터를 읽으려면 스트림에 대해 fseek() 또는 clearerr()을 호출합니다.