最近、EOF キャラクター コンソール ウィンドウの興味深い解釈に直面しました。Windows 7 コードputchar (255)
&&を実行している一部のマシンputchar (-1)
では、スペース文字として表示され、一部のマシンでは文字として表示され'a'
ます。2番目は私を混乱させます。教えてください、なぜこれが起こっているのですか?
2 に答える
2
の実際の値EOF
はシステムに依存し (ただし、glibc では通常 -1 です)、有効な文字コードと等しくありません。
于 2013-10-05T08:29:02.127 に答える
2
EOF
は文字ではなく、ファイルの終わりを示すシグナル (Unix シグナルではない) に似ています。値は実装に依存しますが、有効な文字 (通常は ) と等しくないことが保証されています-1
。
putchar(EOF)
、 またはを使用すると、putchar(-1)
に変換されunsigned char
ます255
。ただし、ASCII 値255
は印刷可能な文字ではないため、結果はマシンによって異なります。
于 2013-10-05T09:05:36.493 に答える