掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
転送エラー (ID:58527)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
原因とは無関係だと思いますが、とりあえず、↑のコードに対する気になった点を。 (1) fwriteは、エラー時にrresより少ない値を返すだけなので、whileループで回す意味はありません。 ===== MSDN抜粋 fwrite は、実際に書き込まれた完全な項目の数を返します。この数は、エラーが発生した場合、count より少なくなります。また、エラーが発生した場合、ファイル位置インジケータは不定となります。 ===== (2) 各種ループ継続条件を"!="でされていますが、より安全には"<"で行うべきかと。 何かの誤算でsize値がぴったり一致にならず、実は目標値を飛び越えてしまっている可能性もあります。 (2) recvエラー時、callocで確保した領域がリークします。 (3) (2)とも関連しますが、外側ループの外側でcalloc/freeをすれば毎回確保/解放をしなくて済みます。 ついでに、問題点(2)も解消。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.