私は特定のバイナリファイル形式を読み書きするプログラムを作成しています。 私は95%働いていると思います。私は奇妙な問題にぶつかっています。c#コピーしたファイルの最終バイトが異なるのはなぜですか?
このスクリーンショットでは、2つのファイルを1バイトずつ比較するプログラムを示しています。最後のバイトは0にする必要がありますが、FFFFFFFです。
バイナリビューアを使用すると、ファイルに違いは見られません。彼らは同一であるように見えます。 また、Windowsではファイルのサイズが異なるが、ディスク上のサイズは同じであることがわかります。
誰かが私に何が起こっているのか理解できますか?
オリジナルは左側にあり、コピーは右側にあります。
最後のバイトは '0xFF'ではなく' 0xFF'です。 また、プログラムのスニペットを表示できますか?このように物事をピン止めするのは難しいです。 – Mehrdad
そして、実際に比較やコピーを行ったり、間違っているコードはどこにありますか? – LukeH
ディスク上のサイズは、ディスクの 'cluster'サイズ(ディスクフォーマットオプション)の倍数であるため、バイトはおそらく境界を越えません。 – Xaqron