重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

テキストとバイナリが混在しているファイルから、ヘッダ部(4Byte)を削除する方法を教えてください。

A 回答 (4件)

>Open XX For Binary Access Read As #FileNumber


>Buf = InputB(8, #FileNumber)

これでは文字列として読みそうなのでバイト配列を使って
Dim bytBuf(0 to 7) as Byte
Open XX For Binary Access Read As #FileNumber
Get #FileNumber,,bytBuf

ではどうでしょう?

この回答への補足

出来ました!
ありがとうございます。

この後別の変数に9Byte目からを読み込むのも、同じにやれば良いのでしょうか?
その時も読み込む変数をByte型の配列で宣言するのでしょうか?
(ヘッダ部の後にもテキストとバイナリが混在しています。)

補足日時:2002/07/16 16:54
    • good
    • 0

以前にMPEGのファイル情報を書き換えたいという内容の履歴があります。



MPEGはバイナリであり、結果的にMPEGファイルのフッダ情報を書き換えるものでした。
よろしかったら参考にしてください。

ちなみにバイト型で取得するなら
dim bytHedBuff(7) as byte← ヘッダ用
dim bytValBuff(8) as byte←ヘッダ以下の本内容用
の二つを宣言しておいて、get で取得すると、その分だけ値が取れます。
簡単に言うと要領確保してそれにGETしてあげたら、それだけしか取得しません。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=154509
    • good
    • 0
この回答へのお礼

出来ました!
  &
理解しました...

回答を下さった皆さん、どうもありがとうございました。

お礼日時:2002/07/17 10:36

バイナリーモードでファイルをオープンして


最初の4バイトを飛ばしてのこりを出力すればいいのでは
自信ないので他の方の意見も参考に
    • good
    • 0

バイナリファイルとしてファイルの内容を読み出し、5バイト目以降を別のファイルとして保存してください。

この回答への補足

そのようにしているのですが、バイナリエディタで確認すると、
変な値になってしまっています。

例えば8Byteのヘッダーを削除した時...
01 00 00 00 00 00 00 00
が取得したいのに、
08 00 0A 00 01 00 00 00
となってしまいます。

Open XX For Binary Access Read As #FileNumber
Buf = InputB(8, #FileNumber)

では、駄目なんでしょうか?

後、ヘッダー部のサイズ分取得した後、その次のバイトから
続けて取得するにはどうしたら良いんでしょうか?

補足日時:2002/07/16 12:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!