11

私が「マンフリード」だったとき、私はこれを手に入れました:

戻り
値 fread() と fwrite() は、正常に読み書きされた項目の数を返します (つまり、文字数ではありません)。エラーが発生した場合、またはファイルの終わりに到達した場合、戻り値は短い項目数 (またはゼロ) です。

fread() は、ファイルの終わりとエラーを区別しません。呼び出し元は、feof(3) と ferror(3) を使用して、どちらが発生したかを判断する必要があります。

だから私の質問は、「短いアイテム数」を理解する方法です。私の英語で我慢してください。ここに「短い」タイプが含まれるのはなぜですか?「短いアイテム数」がどのように見えるか、誰かが例を挙げてもらえますか? ありがとう。

4

2 に答える 2

9

fread の man ページの「短い」の意味は、データ型を参照していません。

この場合の「短い」とは、「予想よりも少ない」という意味です。fread() が 4 つのオブジェクトを読み取ることを予期していたが、3 つしか読み取らなかった場合、値 3 が返されます。

man ページを次のように書き直す必要があると思います。 .

于 2014-03-24T23:03:07.843 に答える
6

4 が必要で、3 を持っている場合、1 が足りません。

于 2011-06-14T03:59:39.807 に答える