1バイトずつちまちま読んだら遅いじゃんかよ。
fread の戻り値使えよ。