CMemFileクラスの内容を削除 – プログラミング – Home

CMemFileクラスの内容を削除
 
通知
すべてクリア

[解決済] CMemFileクラスの内容を削除


キリウ
 キリウ
(@キリウ)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

こちらを始めて利用させていただきます

MFCでのCMemFileクラスについて教えていただきたいのですが
現在このクラスを派生させて以下の2つの新規メンバ関数を作っています
①文字(CString)を入れていくだけでメモリに一時的に保存
②一時的に保存した内容をテキストファイルに出力

この①で指定した一時的に保存したメモリの内容をクリア(全削除)する方法がわかりま
せん
一応、ポインタでnew(インスタンスを生成)し、②で出力後インスタンスをdelete(解放)
し再度同じポインタでnewを行えば内容はクリアされるのですが他に方法はないでしょう
か?
参考文献も少なくMSDNで調べてもよくわかりませんでした
他に方法があるようならご教授よろしくお願います


引用未解決
トピックタグ
Ban
 Ban
(@ban)
Prominent Member
結合: 5年前
投稿: 776
 

> 他に方法はないでしょうか?

ないのでは。「そういうもの」だと思います。

強いてあげれば、MSDNにもあるように、自分で関数をオーバライドするくらい?

<MSDNより抜粋>
CMemFile オブジェクトが独自にメモリを割り当てた場合は、
CMemFile オブジェクトを破棄するときにメモリ ブロックが自動的に削除されます。
それ以外の場合は、オブジェクトに結び付けたメモリを解放する必要があります。

CMemFile はメモリを割り当て、再割り当て、解放するためにランタイム
ライブラリ関数 malloc、realloc、および free を使います。

CMemFile がファイルを拡張するときのこういった動作などを変更する場合は、
CMemFile から独自のクラスを派生し、適切な関数をオーバーライドします。


返信引用
キリウ
 キリウ
(@キリウ)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

Banさん返答感謝です

やはり自分でオーバーライドでクリア処理を組み込むなどしないといけないですね
実際うまく組み込んで作れるようて解決したら報告をさせていただきます
返答ありがとうございました


返信引用
キリウ
 キリウ
(@キリウ)
ゲスト
結合: 16年前
投稿: 3
Topic starter  

とりあえずそれっぽい動きはするようになりました
Banさん助言感謝します


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました