ハードディスクが 100% いっぱいの場合、fwrite(たとえば 1000 バイト) は 0 を返します [失敗、予想どおり]。ただし、ハードディスクに空き容量がほとんどない場合は 600 バイトとします。その後、fwrite (1000 バイト) は 0 を返しません [失敗] としますが、300 を返します。バイト、再び fwrite を呼び出すと 300 バイトが返されますが、100 回呼び出しても fwrite は決して失敗しませんか?
エラー番号は 28 に適切に設定されています。私の質問は、なぜ fwrite の動作ですか? これは正しいですか?fwrite が書き込みたいバイト数より少ない場合、これはディスクがいっぱいであることを意味しますか?
この状況を処理するための提案はありますか?