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 CMapStringToStringSie im Artikel Sammlungen.

Vererbungshierarchie

CObject

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

Siehe auch

MFC Sample COLLECT
CObject-Klasse
Hierarchiediagramm