分享方式:


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,請參閱集合一文

繼承階層架構

CObject

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);
}

另請參閱

MFC 範例 COLLECT
CObject 類別
階層架構圖表