0

C++ でバイナリ ファイルの内容を編集し、ファイルからヘッダーを削除するように、既に知っている特定の文字位置までのすべての内容を削除できるようにしたいと考えています。

私が持っている 1 つのサンプル ファイルには 130 万バイトが含まれており、最初の 38,400 バイトを削除して、元の名前でファイルを保存したいと考えています。

現在、各ファイルの位置を見つけるためにバッファー読み取りを行っています (ファイルを切り取る場所のルールは複雑であり、単純な検索ではありません)。もちろん、pos から別のバッファー読み取りを行うこともできますが、新しいファイルに出力してから、名前を変更するか、それらの行に沿って何かを行います。

しかし、ファイル全体をコピーしなければならないのは非常に面倒です。OS (Windows Vista 以降のみ - クロスプラットフォームは必要ありません) を取得して、ファイルの先頭を再配置し、それらの 38,400 バイトをリサイクルする方法はありますか? 悲しいかな、私には方法が見つからないので、なぜあなたに助けを求めるのでしょうか :)

ご協力いただきありがとうございます。

4

3 に答える 3