CMapStringToString 類別
支援以 CString
物件為索引鍵的 CString
物件對應。
語法
class CMapStringToString : public CObject
成員
的成員函CMapStringToString
式類似於 CMapStringToOb 類別的成員函式。 由於此相似性,您可以針對成員函式特性使用 CMapStringToOb
參考文件。 無論您在何處看到 CObject
指標做為傳回值或 「output」 函式參數,請將指標取代為 char
。 無論您在何處看到CObject
指標做為「輸入」函式參數,請取代的指標。char
BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;
例如,轉換為
BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;
公用結構
名稱 | 描述 |
---|---|
CMapStringToString::CPair | 巢狀結構,包含索引鍵值和相關聯字串物件的值。 |
公用建構函式
名稱 | 描述 |
---|---|
CMapStringToString::CMapStringToString | 建構函式。 |
公用方法
名稱 | 描述 |
---|---|
CMapStringToString::GetCount | 傳回此對應中的項目數目。 |
CMapStringToString::GetHashTableSize | 決定哈希表中目前的項目數目。 |
CMapStringToString::GetNextAssoc | 取得反覆運算的下一個專案。 |
CMapStringToString::GetSize | 傳回此對應中的項目數目。 |
CMapStringToString::GetStartPosition | 傳回第一個專案的位置。 |
CMapStringToString::HashKey | 計算指定索引鍵的哈希值。 |
CMapStringToString::InitHashTable | 初始化哈希表。 |
CMapStringToString::IsEmpty | 測試空白對應條件 (沒有元素)。 |
CMapStringToString::Lookup | 根據 void 指標索引鍵查閱 void 指標。 指標值,而不是它指向的實體,用於索引鍵比較。 |
CMapStringToString::LookupKey | 傳回與指定之索引鍵值相關聯的索引鍵參考。 |
CMapStringToString::P GetFirstAssoc | 取得對應中第一個 CString 的指標。 |
CMapStringToString::P GetNextAssoc | 取得下一個 CString 用於反覆運算的指標。 |
CMapStringToString::P Lookup | 傳回 的指標 CString ,其值符合指定的值。 |
CMapStringToString::RemoveAll | 從這個對應中移除所有元素。 |
CMapStringToString::RemoveKey | 拿掉索引鍵所指定的專案。 |
CMapStringToString::SetAt | 將專案插入對應中;如果找到相符的索引鍵,則會取代現有的專案。 |
公用運算子
名稱 | 描述 |
---|---|
CMapStringToString::operator [ ] | 將專案插入對應中, 運算子取代 SetAt 。 |
備註
CMapStringToString
引入 IMPLEMENT_SERIAL
巨集,以支援其項目的序列化和傾印。 如果對應儲存至封存,則會使用多載插入 ( <<) 運算符或 Serialize
成員函式來串行化每個元素。
如果您需要個別 CString
- CString
項目的傾印,您必須將傾印內容的深度設定為1或更新。
CMapStringToString
刪除物件時,或移除其專案時,CString
會視需要移除物件。
如需 的詳細資訊CMapStringToString
,請參閱集合一文。
繼承階層架構
CMapStringToString
需求
標頭: afxcoll.h
CMapStringToString::CPair
包含索引鍵值和相關聯字串物件的值。
備註
這是 CMapStringToString 類別內的巢狀結構。
結構是由兩個字段所組成:
key
索引鍵類型的實際值。value
相關聯物件的值。
它可用來儲存 CMapStringToString::P Lookup、CMapStringToString::P GetFirstAssoc 和 CMapStringToString::P GetNextAssoc 的傳回值。
範例
如需使用方式的範例,請參閱 CMapStringToString::P Lookup 的範例。
CMapStringToString::P GetFirstAssoc
傳回 map 物件的第一個專案。
const CPair* PGetFirstAssoc() const;
CPair* PGetFirstAssoc();
傳回值
對應中第一個專案的指標;請參閱 CMapStringToString::CPair。 如果對應是空的,則值為NULL。
備註
呼叫此函式以傳回 map 物件中第一個專案的指標。
範例
CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
CMapStringToString::CPair *pCurVal;
myMap.InitHashTable(257);
// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));
pCurVal = myMap.PGetFirstAssoc();
while (pCurVal != NULL)
{
_tprintf_s(_T("Current key value at %s: %s\n"),
pCurVal->key, pCurVal->value);
pCurVal = myMap.PGetNextAssoc(pCurVal);
}
CMapStringToString::P GetNextAssoc
擷取 pAssocRec 指向的對應專案。
const CPair *PGetNextAssoc(const CPair* pAssoc) const;
CPair *PGetNextAssoc(const CPair* pAssoc);
參數
pAssoc
指向先前 PGetNextAssoc 或 PGetFirstAssoc 呼叫所傳回的地圖專案。
傳回值
對應中下一個專案的指標;請參閱 CMapStringToString::CPair。 如果元素是對應中的最後一個元素,則值為 NULL。
備註
呼叫此方法以逐一查看地圖中的所有專案。 擷取第一個具有 呼叫 PGetFirstAssoc
的項目,然後使用對的後續呼叫 PGetNextAssoc
逐一查看對應。
範例
請參閱 CMapStringToString::P GetFirstAssoc 的範例。
CMapStringToString::P Lookup
查閱對應至指定索引鍵的值。
const CPair* PLookup(LPCTSTR key) const;
CPair* PLookup(LPCTSTR key);
參數
key
要搜尋之專案的索引鍵指標。
傳回值
指定索引鍵的指標。
備註
呼叫此方法,以搜尋具有完全符合指定索引鍵的對應專案。
範例
CMapStringToString myMap;
CString myStr[4] = {_T("One"), _T("Two"), _T("Three"), _T("Four")};
myMap.InitHashTable(257);
// Add 4 elements to the map.
myMap.SetAt(myStr[0], _T("Odd"));
myMap.SetAt(myStr[1], _T("Even"));
myMap.SetAt(myStr[2], _T("Odd"));
myMap.SetAt(myStr[3], _T("Even"));
// Print the element values with odd key values.
CMapStringToString::CPair *pCurVal;
for (int i = 0; i < 4; i += 2)
{
pCurVal = myMap.PLookup(myStr[i]);
_tprintf_s(_T("Current key value at %s: %s\n"),
pCurVal->key, pCurVal->value);
}