2010-12-02 2 views

答えて

4

AFAIK、残りのバイト(ファイル長 - 100)を新しいファイルにコピーする必要があります。残りのバイトを新しいファイルにコピーしないと、ファイルから最初の100バイトを削除することはできません。

編集:cdhowieが正しく指摘したように、あなたはできます

  • は、100に
  • は0をシークバイトの
  • 読み取りX量(ただし100以上)、
  • 書き込みを求めますXのバイト数

ファイル全体が書き込まれるまで、このプロセスを繰り返します。前回よりも100バイト小さいfilelengthを設定して終了します。あなたが安全な側にいて元のファイルを壊す危険性がないようにするには、最初に一時ファイルに書き込む価値があります。

+1

実際にはファイルを書き換えたいです。最初にファイルサイズを修正し、サイズに達した後、最初のバイトを削除し、ファイルの最後に新しいコンテンツを追加します。 – sirin

+0

申し訳ありません、私はあなたの質問を誤解しました。 100バイトのバイトオフセットから読み込み、filelength - 100バイトを新しいファイルに書き込みます。 – BlueVoodoo

+0

新しいファイルを使用する必要はありません。同じファイルに読み書き/読み書き/検索ができます。 – cdhowie

0

これを行う簡単な方法はありません。バイト100から開始し、バイト0から開始して書き込む必要があります。基本的には、ファイルの内容を100バイトずつ手動でシフトします。次に、truncateのファイルをその長さよりも100バイト小さくすることができます。

5

私は、望ましい作品を提供する方法を見つけました。それはdeleteRAFとhereです。

あなたのアドバイスに感謝します。

+2

小さな例、http://goo.gl/hisZC – sirin

関連する問題