VB2010でのバイナリファイルの書き込みについての質問です
ある構造体の配列変数Record()をFileOpenとFilePutを使って
N:ファイル番号
SaveFileName:ダイアログで取得した出力ファイル名
RecordSize:配列のサイズ
N = FreeFile()
FileOpen(N, SaveFileName, OpenMode.Binary, OpenAccess.Write, OpenShare.LockReadWrite)
Seek(OpenFileNumber, 1)
For i As Long = 0 To RecordSize
FilePut(N, Record(i))
Next
FileClose(N)
といった感じで実装しています(実際にはエラー処理のためTry〜End Tryの中に記述)
通常はこの処理で問題ないんですが、既に存在しているファイルに上書きしようとした場合、既存のファイルが上書きしようとする
ファイルよりも大きいと、余った分のサイズが上書きされず前の古いファイルの内容が残ってしまいます
上書き時に既に存在するファイルを完全に置き換える(つまり古いファイルは消える)にはどうすればいいのでしょうか?
ファイルをオープンする前にSaveFileNameに該当するファイルがあるかどうか調べて、ある場合は既存のファイルを削除してから
書き込むようにすればいいんでしょうけど、何かこうスマートではない気がして・・・
探検
VB.NET質問スレ(Part43) [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
646デフォルトの名無しさん
2017/07/17(月) 11:23:52.04ID:nd0ZPw8t■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【競馬】ジャパンカップ カランダガンが優勝! [久太郎★]
- 「レアアースを精製できる技術は日本が持っている、日本にレアアース来なければ中国は精製できない」 衆議院答弁 [お断り★]
- 【サンモニ】加藤登紀子、高市首相に台湾有事発言の撤回要望「日本を攻撃目標にしていいと言っている」 [鉄チーズ烏★]
- 《間もなく「紙の保険証」が期限切れ》それでもマイナ保険証は「作らなくて問題ない」は本当か【有識者が解説】 [♪♪♪★]
- 【クマ】「人間が優先で何をしてもいいとなったら、世の中はおかしなことになる」「クマがいる自然を自慢してもいい…」北海道獣医 ★2 [少考さん★]
- 【NHK】タモリ「滋賀県の人に『滋賀県よりも琵琶湖の方が広いよね』って言ったら…」 [少考さん★]
- 東京競馬5回8日目 3
- ◆◇◆ 横浜F・マリノス 実況 ◆◇◆ ★3
- 鹿島アントラーズ実況2025☆67
- 他サポ2025-278
- ◆◇◆ 横浜F・マリノス 実況 ◆◇◆
- ↑↑↑サンフレッチェ広島↑↑↑ 実況 ★2
- 3K新聞「高市答弁のおかげで中国を必死に擁護する日本人があぶり出されてるのがのが面白い」 [834922174]
- 風真🥷言ったよね…❓🍃🏡
- 高市さんが急に劣勢になった理由 [784715804]
- アメリカ様、日銀が利上げすれば為替介入を容認 [667744927]
- 【悲報】X「アマゾン配達員の劣化が激しい…」何が悪いんだこれ [394133584]
- 大手銀行、住宅ローンの固定金利を12月から引き上げへ 終わりの始まりだよ [402859164]
