0

現在、C で実装された単純なサーバーで作業しています。jpg ファイルの処理は正常に機能しますが、btu png ではセグメンテーション違反が発生します。私はこのコードのチャンクを通り過ぎることはありません。これはなぜでしょうか?

fseek (file , 0 , SEEK_END);
lSize = ftell (file);
rewind (file);

ありがとう。

4

1 に答える 1

2

問題のある方法でこれらの配列にアクセスしていた可能性がはるかに高いです。バッファリング コードのロジックを確認してください。サイズとオフセットをハードコーディングするのではなく、中央の場所でバッファー サイズを #define したことを確認してください。クラッシュすることはなくなりましたが、根本的なロジック エラーを見逃していた場合、後で何かを変更したときに不可解な問題が発生する可能性があります。故意にプログラムをもう一度壊して、なぜ壊れたのかを突き止めることは、おそらくあなたの時間の価値があるでしょう。他の人が示唆しているように、デバッガーはこの時点で優れたアイデアです。または、コードのより完全な例を投稿してください。

于 2012-05-02T01:18:13.733 に答える