CMapStringToString-Klasse
Unterstützt Zuordnungen von CString
-Objekten mit CString
-Objekten als Schlüssel.
Syntax
class CMapStringToString : public CObject
Member
Die Memberfunktionen CMapStringToString
ähneln den Memberfunktionen der Klasse CMapStringToOb. Aufgrund dieser Ähnlichkeit können Sie die CMapStringToOb
-Referenzdokumentation für Memberfunktionsbesonderheiten verwenden. Wenn ein Zeiger als Rückgabewert oder "output"-Funktionsparameter angezeigt CObject
wird, ersetzen Sie einen Zeiger auf char
. Wo immer ein CObject
Zeiger als "input"-Funktionsparameter angezeigt wird, ersetzen Sie einen Zeiger auf char
.
BOOL CMapStringToString::Lookup(LPCTSTR<key>, CString&<rValue>) const;
Beispielsweise übersetzt zu
BOOL CMapStringToOb::Lookup(const char*<key>, CObject*&<rValue>) const;
Öffentliche Strukturen
Name | Beschreibung |
---|---|
CMapStringToString::CPair | Eine geschachtelte Struktur, die einen Schlüsselwert und den Wert des zugeordneten Zeichenfolgenobjekts enthält. |
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CMapStringToString::CMapStringToString | Konstruktor. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CMapStringToString::GetCount | Gibt die Anzahl der Elemente in dieser Karte zurück. |
CMapStringToString::GetHashTableSize | Bestimmt die aktuelle Anzahl von Elementen in der Hashtabelle. |
CMapStringToString::GetNextAssoc | Ruft das nächste Element zum Durchlaufen ab. |
CMapStringToString::GetSize | Gibt die Anzahl der Elemente in dieser Karte zurück. |
CMapStringToString::GetStartPosition | Gibt die Position des ersten Elements zurück. |
CMapStringToString::HashKey | Berechnet den Hashwert eines angegebenen Schlüssels. |
CMapStringToString::InitHashTable | Initialisiert die Hashtabelle. |
CMapStringToString::IsEmpty | Testet auf die Bedingung für leere Karten (keine Elemente). |
CMapStringToString::Lookup | Sucht einen leeren Zeiger basierend auf der leeren Zeigertaste. Der Zeigerwert, nicht die Entität, auf die er verweist, wird für den Schlüsselvergleich verwendet. |
CMapStringToString::LookupKey | Gibt einen Verweis auf den Schlüssel zurück, der dem angegebenen Schlüsselwert zugeordnet ist. |
CMapStringToString::P GetFirstAssoc | Ruft einen Zeiger auf den ersten CString in der Karte ab. |
CMapStringToString::P GetNextAssoc | Ruft einen Zeiger auf das nächste CString zum Durchlaufen ab. |
CMapStringToString::P Lookup | Gibt einen Zeiger auf einen CString Wert zurück, dessen Wert mit dem angegebenen Wert übereinstimmt. |
CMapStringToString::RemoveAll | Entfernt alle Elemente aus dieser Karte. |
CMapStringToString::RemoveKey | Entfernt ein durch einen Schlüssel angegebenes Element. |
CMapStringToString::SetAt | Fügt ein Element in die Karte ein; ersetzt ein vorhandenes Element, wenn ein übereinstimmende Schlüssel gefunden wird. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
CMapStringToString::operator [ ] | Fügt ein Element in die Karte ein – Operatorenersetzung für SetAt . |
Hinweise
CMapStringToString
enthält das Makro zur Unterstützung der IMPLEMENT_SERIAL
Serialisierung und des Dumpings seiner Elemente. Jedes Element wird wiederum serialisiert, wenn eine Zuordnung in einem Archiv gespeichert wird, entweder mit dem überladenen Einfügeoperator ( <<) oder mit der Serialize
Memberfunktion.
Wenn Sie ein Abbild einzelner CString
- CString
Elemente benötigen, müssen Sie die Tiefe des Dumpkontexts auf 1 oder höher festlegen.
Wenn ein CMapStringToString
Objekt gelöscht wird oder dessen Elemente entfernt werden, werden die CString
Objekte entsprechend entfernt.
Weitere Informationen finden CMapStringToString
Sie im Artikel Sammlungen.
Vererbungshierarchie
CMapStringToString
Anforderungen
Kopfzeile: afxcoll.h
CMapStringToString::CPair
Enthält einen Schlüsselwert und den Wert des zugeordneten Zeichenfolgenobjekts.
Hinweise
Dies ist eine geschachtelte Struktur innerhalb der Klasse CMapStringToString.
Die Struktur besteht aus zwei Feldern:
key
Der tatsächliche Wert des Schlüsseltyps.value
Der Wert des zugeordneten Objekts.
Es wird verwendet, um die Rückgabewerte von CMapStringToString::P Lookup, CMapStringToString::P GetFirstAssoc und CMapStringToString::P GetNextAssoc zu speichern.
Beispiel
Ein Beispiel für die Verwendung finden Sie im Beispiel für CMapStringToString::P Lookup.
CMapStringToString::P GetFirstAssoc
Gibt den ersten Eintrag des Kartenobjekts zurück.
const CPair* PGetFirstAssoc() const;
CPair* PGetFirstAssoc();
Rückgabewert
Ein Zeiger auf den ersten Eintrag in der Karte; siehe CMapStringToString::CPair. Wenn die Zuordnung leer ist, ist der Wert NULL.
Hinweise
Rufen Sie diese Funktion auf, um einen Zeiger für das erste Element im Kartenobjekt zurückzugeben.
Beispiel
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
Ruft das Kartenelement ab, auf das von pAssocRec verwiesen wird.
const CPair *PGetNextAssoc(const CPair* pAssoc) const;
CPair *PGetNextAssoc(const CPair* pAssoc);
Parameter
pAssoc
Verweist auf einen Karteneintrag, der von einem vorherigen PGetNextAssoc - oder PGetFirstAssoc-Aufruf zurückgegeben wird.
Rückgabewert
Ein Zeiger auf den nächsten Eintrag in der Karte; siehe CMapStringToString::CPair. Wenn das Element der letzte in der Zuordnung ist, ist der Wert NULL.
Hinweise
Rufen Sie diese Methode auf, um alle Elemente in der Karte zu durchlaufen. Rufen Sie das erste Element mit einem Aufruf abPGetFirstAssoc
, und durchlaufen Sie dann die Karte mit aufeinander folgenden Aufrufen.PGetNextAssoc
Beispiel
Siehe das Beispiel für CMapStringToString::P GetFirstAssoc.
CMapStringToString::P Lookup
Sucht nach dem Wert, der einem bestimmten Schlüssel zugeordnet ist.
const CPair* PLookup(LPCTSTR key) const;
CPair* PLookup(LPCTSTR key);
Parameter
key
Ein Zeiger auf den Schlüssel, nach dem das Element gesucht werden soll.
Rückgabewert
Ein Zeiger auf den angegebenen Schlüssel.
Hinweise
Rufen Sie diese Methode auf, um nach einem Kartenelement mit einem Schlüssel zu suchen, der exakt dem angegebenen Schlüssel entspricht.
Beispiel
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);
}