fopenでテキストモードで開いたとき、freadとかfgetcとかの入出力関数は
いちいち1バイトずつ'\r'かどうかとかチェックしてるんですか?

遅そう。