▼ 開いて閉じる、これ基本
ファイルを読むために、まずオープンする。その際にファイルの読み込み位置情報を持つファイルポインタを受け取る。
そしてオープンしたら必ずクローズする。エチケットです。
実際にはfopen()した後に、読み込んではいろいろな処理をしたりして、最後にfclose()の流れになります。
▼ 一行ずつ読み込む(バグかも知れない版)
"rb"はWindows環境における読み込みモード指定です。
Windows以外の環境でこう書いても恐らく悪さしないのでこう書くクセをつけておきます。
で、バグかも知れないと言うのはなにかと言うと、ファイル内容が10行あったとすると、10行目終わりでファイルエンドを検出できずに11行目まで読みに行こうと試みた後にファイルエンドを検出します。
ということで回避方法を考えます。
▼ 一行ずつ読み込む(バグ回避版)
fgets()関数が読み込みに失敗もしくはファイルエンドに到達したらfalseを返すことを利用します。一応これでうまくいくようになりました。
ここで本題に入ります。もしターゲットのファイルが存在しなかった場合にいきなりfopen()で開こうとすると警告が表示されます。(設定によります)
これを回避する必要があります。
▼ 一行ずつ読み込む(警告回避版)