在 MFC(Microsoft Foundation Classes)中,CStringList 类提供了 GetPrev 方法,用于获取链表中前一个元素的值,并将位置移动到链表中的前一个元素。

以下是 CStringList::GetPrev 的简要说明:
CString GetPrev(POSITION& rPosition) const;

参数说明:
  •  rPosition:传递 by reference 的 POSITION 对象,表示当前元素的位置。在调用结束后,该位置将被移动到链表中的前一个元素。


返回值:
  •  如果 rPosition 是有效的链表位置,返回当前元素的值(CString 类型)。

  •  如果 rPosition 不是有效的链表位置,返回一个空字符串。


示例用法:
CStringList strList;
strList.AddTail(_T("Element 1"));
strList.AddTail(_T("Element 2"));
strList.AddTail(_T("Element 3"));

// 获取链表中最后一个元素的位置
POSITION pos = strList.GetTailPosition();

// 遍历链表
while (pos != NULL) {
    CString strElement = strList.GetPrev(pos);
    TRACE("Element: %s\n", strElement);
}

在上述示例中,GetTailPosition 方法被用来获取链表中最后一个元素的位置,然后通过循环使用 GetPrev 方法获取每个元素的值,并将位置移动到链表中的前一个元素。

需要注意的是,调用 GetPrev 会改变传递给它的 POSITION 对象的值,将其移动到链表中的前一个元素。如果 rPosition 不是有效的链表位置,GetPrev 将返回一个空字符串。


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