C# と VB.NET の質問掲示板
ASP.NET、C++/CLI、Java 何でもどうぞ
C# と VB.NET の入門サイト
Re[3]: 可変長クラスデータのファイル入出力について
(過去ログ 59 を表示中)
掲示板トップ
C# と VB.NET 入門
新規作成
利用方法/規約
トピック表示
ランキング
記事検索
過去ログ
[トピック内 4 記事 (1 - 4 表示)] <<
0
>>
■33711
/ inTopicNo.1)
可変長クラスデータのファイル入出力について
▼
■
□投稿者/ ソマ
(1回)-(2009/03/07(Sat) 21:37:30)
分類:[C/C++]
Visual Studio 2008 C++ Express Edition
Windows XP sp3
お世話になります。
内部に可変長のデータ(STLコンテナ)を持つクラスの内容をファイルに保存して読み書きしたいのです。
Boostのシリアライズを使用しないで、そういったことを行うにはどうすればよいでしょうか?
ファイルストリームのブロックリード・ライトでクラスをchar*にキャストして行う方法もあるようですが、Cスタイルのキャストは使用したくないので、他の方法がありましたらご教授ください。
引用返信
編集キー/
編集
■33712
/ inTopicNo.2)
Re[1]: 可変長クラスデータのファイル入出力について
▲
▼
■
□投稿者/
επιστημη
(1804回)-(2009/03/07(Sat) 21:40:22)
2009/03/07(Sat) 21:48:15 編集(投稿者)
> 内部に可変長のデータ(STLコンテナ)を持つクラスの内容をファイルに保存して読み書きしたいのです。
なにがわからんですか?
コンテナの要素はファイル(stream)に書けますか/読んで復元できますか?
それができるなら:
-書く:
stream << コンテナの要素数;
for ( コンテナの各要素について ) {
stream << 要素;
}
-読む:
int n;
stream >> n;
for ( n 回 ) {
要素の型 x;
stream >> x;
x をコンテナに追加;
}
引用返信
編集キー/
編集
■33713
/ inTopicNo.3)
Re[2]: 可変長クラスデータのファイル入出力について
▲
▼
■
□投稿者/ ソマ
(3回)-(2009/03/07(Sat) 22:29:21)
すばやいご返答まことにありがとうございます。
最初にデータ件数をログしておけば可変長に読み書きできるのですね
コンテナ内部のデータもまた可変長サイズのクラスを持っていますので、ちょっと工夫が必要ですがトライしてみようと思います。
ありがとうございました。
解決済み
引用返信
編集キー/
編集
■33745
/ inTopicNo.4)
Re[3]: 可変長クラスデータのファイル入出力について
▲
▼
■
□投稿者/
επιστημη
(1807回)-(2009/03/09(Mon) 08:51:33)
2009/03/09(Mon) 08:52:32 編集(投稿者)
> 最初にデータ件数をログしておけば可変長に読み書きできるのですね
てかそれが一番簡単ですから。
ぢつはオブジェクトの保存/復元は結構難物でして、
コンテナの要素が参照であるとき、
要素の重複にきちんと対応してあげないと
正しく復元できなくなったりするです。
重複を考慮しなくていいならさほどにめんどくないですが。
解決済み
引用返信
編集キー/
編集
トピック内ページ移動 / <<
0
>>
このトピックに書きこむ
過去ログには書き込み不可
管理者用
-
Child Tree
-