C の超カンタンなことなら漏れに聞け
■ このスレッドは過去ログ倉庫に格納されています
0347Kusakabe Youichi
NGNG> どこを見てもDOSはCtrl+ZでLinuxはCtrl+Dだと書いてあるのですが
> 違うのですか?
EOFがCtrl+Zなわけではありません。
(それが証拠に行の最初以外のところでCtrl+Zしてみればよい(傍証にしかならんか))
EOFという文字コードがあるわけじゃなく、
getchar()が「もう文字がない」ときに返す値なわけです。
ファイルの末尾にいちいちCtrl+Zが付いているわけじゃないでしょ?
たとえば「abcd」だけの4バイトのファイルだったら、getchar()を4回呼ぶ間は
それぞれの文字のコードを返し、5回目に呼んだときに、もうファイルに何もないので
(末尾に達しているので)、EOFをかえすだけです。
フィアルの末にCtrl+Zがついているわけではありません。
> どの本の17ページでしょうか?
まっとうな本です。
> うつして試してみましたが私の所では0返ってきませんでしたよ。
そこで0が返るかどうか「以前」の勘違いがあるんですってば。
■ このスレッドは過去ログ倉庫に格納されています