最新閲覧日:

私は現在visual C++6.0を使用して
MFCをちょこちょこ使いながらC++でプログラムを書いています。

皆さんご存知かとは思いますが
CMapStringToStringを使うと一つのKeyからひとつの要素しかとりだせません。
ひとつのKeyに対していくつか要素を追加していけるようにしたいのです。

どなたかご存知の方がいらっしゃったら教えて頂けないでしょうか?

A 回答 (3件)

適当に作ってみました。



CMapStringToOb SAMap(3);

CStringArray *pVal;
pVal = new CStringArray();
pVal->SetSize(2);
(*pVal)[0] = "田中 太郎";
(*pVal)[1] = "田中 花子";

SAMap.SetAt("TANAKA", pVal); // 要素を追加

pVal = new CStringArray();
pVal->SetSize(2);
(*pVal)[0] = "山田 太郎";
(*pVal)[1] = "山田 花子";

SAMap.SetAt("YAMADA", pVal); // 要素を追加

pVal = new CStringArray();
pVal->SetSize(2);
(*pVal)[0] = "佐藤 太郎";
(*pVal)[1] = "佐藤 花子";

SAMap.SetAt("SATOU", pVal); // 要素を追加

CStringArray *pMapVal;

// 値を獲得
BOOL b = SAMap.Lookup("YAMADA", ( CObject *&)pMapVal);

printf("%s\n",(LPCSTR)pMapVal->GetAt(0));
printf("%s\n",(LPCSTR)pMapVal->GetAt(1));
    • good
    • 0
この回答へのお礼

ありがとうございます!
とてもわかりやすいです!
参考にさせていただきます。
お手数おかけして申し訳ありあませんでした

お礼日時:2001/08/23 01:29

STLのstd::multimap<key, container>とstd::multimap<key, con

tainer>::equal_range()メソッドで御所望の動作が出来ます
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
検討してみます。

お礼日時:2001/08/21 10:20

CMapStringToObとCStringListの組み合わせが


一番質問と近くて簡単ではないでしょうか。

この回答への補足

すいません。
MSDNライブラリを見て検討してみた結果
CStringToObを使ってみようと思い
CStringをキーとして
CObject*がCStringArrayをさすようなものを作ろうと思ったのですが
どのように書いてよいのか、わかりませんでした。

そこで申し訳ないのですが
サンプルになるプログラムを紹介していただけないでしょうか?

補足日時:2001/08/21 10:36
    • good
    • 0
この回答へのお礼

すばやいご回答ありがとうございます。
なんだかピッタリっぽそうです。
検討してみます。

お礼日時:2001/08/21 10:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


おすすめ情報

カテゴリ