Catコマンドの課題です。

条件を全て満たしたCatコマンドです。
知識と技術が追いついていないもので、ネットに落ちていたコードを拾って
その中身を理解しながらコメントを書いた形で提出しております。
その際、いろいろな先輩に助言頂きました。

不具合がいろいろあると思いますがレビューお願いします。
openの戻り値であるint型の値が何を表してるかはわかってる?