VB6.0用掲示板の過去のログ(No.1)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [過去ログ] [管理用]

投稿日: 2004/05/31(Mon) 22:37
投稿者Say
Eメール
URL
タイトルRe^3: Binaryで開いたファイルについて

シーケンシャルデータの場合、本質的にデータの挿入はできません。
バイナリで、同一ファイルに対し挿入処理を行う場合、次のようになるかと。

1.ファイルを開き、挿入位置までシーク
2.挿入位置以降のデータをメモリなどに保持
3.挿入位置に挿入データを書き込み。
4.挿入データの後ろに保持したデータを書き込み。
5.ファイルクローズ。

このやりかただと、処理中に異常があるとファイルが失われる危険がありますから、
安全を考えると、事前にコピーしてから実施したほうがよろしいかと。

また、挿入位置が複数ある場合、いちいち挿入位置ごとに上記処理を行うより、
1.メモリに一括読み込み
2.メモリ上で挿入処理
3.メモリから一括書き込み
を行ったほうが高速に行える可能性があります。
どちらがどの程度高速化は挿入位置・回数・サイズや
CPU、メモリ、HDDの速度などにより一概に言えませんので、
処理速度が重要なら、実際に測定してみるのがいいでしょう。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- Web Forum -