Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Поддерживает сопоставления объектов CString , зашифрованных объектами CString .
Синтаксис
class CMapStringToString : public CObject
Участники
Функции-члены похожи на функции-члены CMapStringToString класса CMapStringToOb. Из-за этой схожести для изучения этой функции-члена можно использовать справочную документацию по классу CMapStringToOb. Где бы вы ни видели CObject указатель как возвращаемое значение или параметр функции output, замените указатель на char. Где бы вы ни видели CObject указатель как параметр функции input, замените указатель на 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);
}