0
EOF
이 음수 여야한다는 표준으로 작성 되었습니까? 반대로 WEOF
은 음수 일 필요는 없습니다. 왜? char
로 wchar_t
을 정의하는 표준과 완벽하게 정상적으로 때문에 wchar_t
의 상황은, 일반 char
에서 (char
에서 int
로 자동 승진 역할을하는 경우를 제외하고) 다른 어떤 방법이 아니어야합니다. 따라서 유사한 규칙이 적용되어야합니다. 기준으로부터의 GLIBC표준에서 EOF가 음수가되어야합니까?
일부 인용 : wchar_t
인해 파라미터로 승진 char
wint_t
int
가 정의되어야 타입을 정의
경우.
예, 부정적 보장
wchar_t
** ** 미리 근거 이것을 위해 무엇인가와 정수 상수 표현으로 확장
EOF
? 왜 WEOF가 부정적 일 필요는 없는가? –@IgorLiferenko : 이론적 근거가 없습니다. 역사적으로 기대했던 것과 표준은 1989 년 이후로 그랬다. 물론'getchar()'과 친구가 반환 한 유효한 문자 값과 다른 'EOF'의 부호를 만든다. –
@JonathanLeffler 역사에 대해 말하는 것을 중지하십시오. 그 사람들이 바보 같은 짓 한거야? 나는 진짜 원인을 이해하려고 노력하고있다. –