0
它是否寫在EOF
必須爲負的標準? 相反,WEOF
不要求爲負數。爲什麼? 爲wchar_t
情況不能在不同的普通char
(除非自動升級從char
到int
中扮演的角色)的任何方式,因爲定義wchar_t
作爲char
與標準完全正常。因此,類似的規則必須適用。標準是否要求EOF爲負值?
從glibc的參考一些語錄:
如果
wchar_t
是wint_t
必須定義爲int
類型定義爲char
由於參數推廣。
這將是合法的定義
wchar_t
爲char
是什麼** **理此?爲什麼WEOF不需要爲負數? –
@IgorLiferenko:沒有理由; 1989年以來,歷史上預期和標準如此表述。當然,它使得'EOF'的符號不同於'getchar()'和朋友返回的有效字符值。 –
@JonathanLeffler不要再說歷史了。你這些人是愚蠢的嗎?我試圖理解真正的原因。 –