鴻池です。

"h.o" <gaster11@poplor.ocn.ne.jp> wrote in message
news:bj20ph$m2a$1@news-est.ocn.ad.jp...
> おかしいと思い、いろいろ調べた結果、(printfをいろいろいれてみて)
ファ
> イルを読んでいないという事がわかりました。
>
> このAの部分をコメントアウトすると問題なくプログラムが動いた点からも、この
部
> 分が
> バグであると判断いたしました。

プログラム1で作成したファイルなら,buff[0] == '\n' となることはまず無いと思
います。
で,実際Aで終わるとなると,ファイルの先頭が間違いなく'\n'であったということ
ではないでしょうか。これについては,アマチュアの私なんかより,プロの太田さん
がコメントしているので,そちらを参考にして下さい。

蛇足ですが,この状況が発生したファイルについてメモ帳ではなく例えば,cat
ran_dat.txt で表示させて見てはどうでしょうか。先頭が改行ならそのように表示さ
れるはず。

ところでそもそも,
(ファイル末端で改行コードだけの行が来たら終了させる目的のために入れたコード
です。)
if( buff[0] == '\n' ) break;
は,特に必要ないのでは。
ファイルのどの箇所であろうと,'\n'のみ のデータを無視したいのであれば,
if( buff[0] == '\n' ) continue;
でよいのではと思います。

-- 
******************************
   keizi kounoike
******************************