質問: '\0' close(hf); ``` ### 実行環境 OS:Linux --- 普段read関数を、1回のみで使用していることがあり、そもそもこのやり方が良くないのか 疑問に思いまして。。。 read関数で、指定したサイズ分読めないケースがどういうものがあるのか教えていただければと思います。 協力宜しくおねがいします。
回答: ファイルサイズ ≦ 読み込みサイズ であれば1度に読み込めます。 ファイルサイズ > 読み込みサイズ の場合、読み込みサイズ分がバッファに読み込まれ、読み込み開始位置が読み込みサイズ分進みます。 再度readを行うと残りが読み込まれますが、残りのファイルサイズ(ファイルサイズ-読み込みサイズ)が 読み込みサイズより大きければ同様の動作となります。 もちろんバッファは最低でも読み込みサイズ分の領域が必要となります。