• ベストアンサー

ファイルの終端5バイトを削除するには?

fopen()で開いたファイルを、末尾から数えて5バイト分削除するにはどのようにしたら良いでしょうか? ファイル全体のバイト数を数えて、「バイト数-5バイト」を別ファイルにコピーする方法でも結構です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • arain
  • ベストアンサー率27% (292/1049)
回答No.2

開発環境は何で、どこまでの関数が利用できますか? 最低限ANSI準拠で対応しようとすると 1.ファイルを開く 2.ファイルを終端まで1Byteずつ読み込み読み込んだバイト数を数える  (fread()等で数Byteずつ呼んでも、とりあえず「読み込んだサイズ」=「ファイルサイズ」がわかれば可)。 3.ファイルの先頭に戻り「読み込んだサイズ-5」Byte分を別のファイルにコピーしていく  (ファイルサイズによっては一気にコピーは難しいので、nByte読んで読み込めたByte数分書き出すということの繰り返しを行う) という感じです。

yamamegane
質問者

お礼

ソースはテキストエディタで書いて、Borland C++ Compiler 5.5でコンパイルしています。 教えていただいた方法で何とか実現できました! ありがとう御座いました。

その他の回答 (1)

  • koko_u_u
  • ベストアンサー率18% (216/1139)
回答No.1

truncate()

yamamegane
質問者

お礼

試してみましたが知識不足でダメでした・・・。 勉強します!

関連するQ&A