在 MFC 的 CMapStringToString 类中,GetNextAssoc 方法用于遍历映射中的键值对。这个方法获取映射中的下一个键值对,并将键和值分别存储在提供的参数中。以下是该方法的基本语法:
BOOL GetNextAssoc(POSITION& rNextPosition, CString& rKey, CString& rValue) const;

  •  rNextPosition:是上一次调用 GetNextAssoc 时的位置信息,通过引用传递。在首次调用时,可以将其设置为 NULL。

  •  rKey:是用于存储键的 CString 对象的引用。

  •  rValue:是用于存储值的 CString 对象的引用。


该方法返回一个 BOOL 类型的值,指示是否成功获取下一个键值对。如果成功,返回非零值;如果已经到达映射的末尾,返回零。

示例用法:
// 假设 myMap 是一个 CMapStringToString 对象
POSITION pos = myMap.GetStartPosition();
CString key, value;

while (pos != NULL) {
    myMap.GetNextAssoc(pos, key, value);
    TRACE(_T("Key: %s, Value: %s\n"), (LPCTSTR)key, (LPCTSTR)value);
}

上述示例中,通过调用 GetStartPosition 获取映射的起始位置,然后使用 GetNextAssoc 循环遍历整个映射,逐个获取键值对并输出到调试输出窗口。




转载请注明出处:http://www.zyzy.cn/article/detail/18772/MFC/CMapStringToString