Catコマンドの課題です。

条件を全て満たしたCatコマンドです。
知識と技術が追いついていないもので、ネットに落ちていたコードを拾って
その中身を理解しながらコメントを書いた形で提出しております。
その際、いろいろな先輩に助言頂きました。

不具合がいろいろあると思いますがレビューお願いします。
「ファイルディスクリプタにあらかじめ予約されている」というのは言葉の意味をそのまま取ると間違っている。
「ファイルディスクリプタにおける`0`は標準入力を意図する」くらいしか言えないかな。
別にC言語において`0`がファイルディスクリプタとしての意味を持っているわけじゃなくて、POSIXでファイルディスクリプタの`0`は一般的なプロセスで標準入力を指すよ、というだけ。
[Wikipediaのファイルディスクリプタのページ](http://ja.wikipedia.org/wiki/ファイル記述子)くらい読んでみればいいんじゃないかな。