CMapStringToString类支持CString对象为关键码的CString 对象映射。CMapStringToString的成员函数与CMapStringToOb类的成员函数相似。由于这种相似性,因此可以为指定的成员函数使用CMapStringToOb参考。不管是否将CObject指针看作返回值,还是“输出”函数的参数,它都会将指针替换为字符。另外,不管是否将CString指针看作“输出”函数参数,它都会将指针替换为字符。
SetAt 在映射中插入一个元素,但假如发现了相匹配的关键码,则替换已经存在的元素.
例如:
CMapStringToString myMap;
myMap.SetAt(key,keyValue);
POSITION ipos = myMap.GetStartPosition();
while(ipos!=NULL)
{
myMap.GetNextAssoc(ipos,key,keyValue);
if(key.CompareNoCase("path")!=0)
{
m_strHeaderInfo += _T("&")+key+_T("^")+keyValue;
}
}
例:
CMapStringToString map;
CString strTemp
map.SetAt( "Bart", "aa");
map.SetAt( "Lisa", "bb" );
map.SetAt( "Homer", "cc" );
map.SetAt( "Marge", "dd" );
ASSERT( map.Lookup( "Lisa", strTemp)); // Is "Lisa" in the map?
ASSERT( strTemp == "bb" ); // Is she 11?