>>880
ファイルの終わりはctrl+Dで出力します。(UNIX環境です)
学校の自習問題の一部ですので…。

fgets()ならEOFの時NULLが返るので扱いやすいのでしょうか。
でも、これだと先ほどのstr[256]とかしたときに256文字を越える行が
出て来ると処理できないのかと思うのですが。
たとえば260字の行が出てきたら、最後4文字が読み込めないのではないですか?
これが気になってscanfを使おうと思っていたのです。
無知でスミマセン。