CStringMap(連想記憶)




連想記憶というのは、あるキーに対して、それに対するデータを取り出せる仕組みのことを言います。stlのmapとか、そうですね。

CStringMapは、文字列のキーに対して、文字列か数字のデータを取り出す(あるいは格納する)ことが出来ます。(yaneSDK2ndに同名のクラスがあるので、そちらも参考にしてください)

このCStringMap自体が、IArchive派生クラスなので、シリアライズ能力を有していて、かつ、ReadFromConfigFile/WriteConfigFileメソッドによって、テキストファイルへシリアライズ、デシリアライズすることが可能です。

ちょっとした設定ファイルを読み込ませたりするのに、いちいち文字列解析とかのルーチンを書くのは馬鹿げてます。このReadFromCofigFileを用いれば、次のような設定ファイルの内容を一発で連想記憶に格納することが出来ます。

枠-1 config.def
#hello こんにちわわわわ
#data 123456


list-1 上記のを読み込むソース
    CStringMap s;
    s.ReadFromConfigFile("config.def");
    string str = s.GetNum("hello"); //  strに"こんにちわわわわ"が入る
    int n = s.GetNum("data");       //  nに123456が入る


これの応用(?)で、xmlの読み込みクラスなんかも作れば面白そうですね。
(いずれ作りたいと思います)