はじめまして。
Cを初めて半年程の超初心者です。
使用しているOSはPC-DOS(Ver7.0)です。
コンパイラはVZエディタです。
(古すぎてご存じの方はいらっしゃらないかも)
バイナリファイルのデータを書き換えて保存したいのですが、
上手くいきません。
今あるデータを部分的に書き換えて保存する方法を教えてください。
今やっているのはBMPのデータから必要な部分を抜き出し・変更・付け足し等してから、
新規ファイルに書く事です。
書き出す順序が違うので、ファイルの好きな場所に書き込みしたいのですが、
fopenで"a"にすると追記"w"にするとファイルを消してしまうので困っています。
データの変更や読み取りは出来ています。
※一度全てのデータをどこかに保存するにはデータ容量が大きい場合があるので
出来ればファイルに書き出した方がいいと思うのですが。
バイナリファイルの書き換え
Re:バイナリファイルの書き換え
ファイルサイズが同じで一部の変更だけなら
"rb+"でオープンしてfseek( )でファイルポインタを移動すればいいでしょう
挿入や削除の場合はランダムアクセスは無理な気がします
"rb+"でオープンしてfseek( )でファイルポインタを移動すればいいでしょう
挿入や削除の場合はランダムアクセスは無理な気がします
Re:バイナリファイルの書き換え
ご回答ありがとうございます。
"rb+"でopenで開くとfseekで移動し書き込みが出来るんですか!
すみません全く知らずに一生懸命"ab"で開いてfseekさせて書き込みを
行ってました(勿論ちゃんと書けなかったです)
今試した処ちゃんと思った部分が書き換えられていました。
とても簡単な事だったんですね。
本当にありがとうございました。
もっと高度な質問が出来るように頑張って勉強します。
"rb+"でopenで開くとfseekで移動し書き込みが出来るんですか!
すみません全く知らずに一生懸命"ab"で開いてfseekさせて書き込みを
行ってました(勿論ちゃんと書けなかったです)
今試した処ちゃんと思った部分が書き換えられていました。
とても簡単な事だったんですね。
本当にありがとうございました。
もっと高度な質問が出来るように頑張って勉強します。
Re:バイナリファイルの書き換え
VZエディタはあくまでエディタです。
Cのコンパイル機能なんて無かったのでは?
(VZエディタ経験あります^^)
MS-DOS3.3や5.0の頃に
VZやらFD(ファイラー)やらを駆使してZ80アセンブラやらCやらBASICやらで遊んでましたから^^
懐かしさのあまりツッコミを入れてみました^^;
Cのコンパイル機能なんて無かったのでは?
(VZエディタ経験あります^^)
MS-DOS3.3や5.0の頃に
VZやらFD(ファイラー)やらを駆使してZ80アセンブラやらCやらBASICやらで遊んでましたから^^
懐かしさのあまりツッコミを入れてみました^^;
Re:?!
DOSのパッケージの中にあるCコンパイラですね。Yuoさんの言われているコンパイラで間違いないと思います。
コンパイルのパラメータやら何やらを毎回入力するのが面倒でBATファイル作りまくったです^^;
AUTOEXEC.BATやCONFIG.SYSの効率化&高機能化に燃えてました(笑)
VZはWin環境になってからはWZEditorになったかな。
PC-9801全盛期にVZを学校で、趣味ではMIFESを良く利用してました。
他にはワープロソフトで一太郎V3。
当時のFD(ファイラ)は非常に使いやすくて軽くて便利でした。
メモリ常駐たしか0Kですよ?!今ではありえません(笑)
(まあ、からくりはありますが^^;)
名前は出せませんが、当時はいろんなソフト(ゲーム)の解析をしたものです^^
コンパイルのパラメータやら何やらを毎回入力するのが面倒でBATファイル作りまくったです^^;
AUTOEXEC.BATやCONFIG.SYSの効率化&高機能化に燃えてました(笑)
VZはWin環境になってからはWZEditorになったかな。
PC-9801全盛期にVZを学校で、趣味ではMIFESを良く利用してました。
他にはワープロソフトで一太郎V3。
当時のFD(ファイラ)は非常に使いやすくて軽くて便利でした。
メモリ常駐たしか0Kですよ?!今ではありえません(笑)
(まあ、からくりはありますが^^;)
名前は出せませんが、当時はいろんなソフト(ゲーム)の解析をしたものです^^
Re:バイナリファイルの書き換え
最近(といっても1年程前)、DOSのソフトの改造の仕事があって、先輩に教えてもらいながら、VZやFD、FMを使いながら作業したのを思い出しました(苦笑)
個人的にはディレクトリの管理が楽なので、FDよりはFM派ですね…って、横やり失礼しました(^_^;)
個人的にはディレクトリの管理が楽なので、FDよりはFM派ですね…って、横やり失礼しました(^_^;)
\(^0^)/嬉しいです!
バグ様
DOSソフトを改造ですか。
Windows全盛期の今でもDosソフトの改造をされたりするんですね。
(うちもそうなんですが(^^;)
FDやFMはさわったこと無いですが、VZは使いやすいです。
ただ、エラーメッセージやワーニングが全て英語なので泣きながら翻訳してます(^^;
(だいぶ慣れてきました)←エラーが多いからかもしれません(--;
誰も知らなかったらどうしようなんて思ってたんで、コメントして貰えて嬉しいです。
DOSソフトを改造ですか。
Windows全盛期の今でもDosソフトの改造をされたりするんですね。
(うちもそうなんですが(^^;)
FDやFMはさわったこと無いですが、VZは使いやすいです。
ただ、エラーメッセージやワーニングが全て英語なので泣きながら翻訳してます(^^;
(だいぶ慣れてきました)←エラーが多いからかもしれません(--;
誰も知らなかったらどうしようなんて思ってたんで、コメントして貰えて嬉しいです。