在MFC(Microsoft Foundation Classes)中,CStringList::RemoveAt 方法用于从 CStringList 链表中删除指定位置的元素。

以下是 CStringList::RemoveAt 的声明:
POSITION RemoveAt(POSITION position);

这个方法接受一个 POSITION 类型的参数,表示要删除的元素的位置。它会将指定位置的元素从链表中删除,并返回下一个位置的迭代器。如果 RemoveAt 方法返回的位置为 NULL,则表示已经删除了最后一个元素。

以下是一个简单的示例:
// 创建一个CStringList对象并添加一些元素
CStringList myList;
myList.AddTail(_T("Element1"));
myList.AddTail(_T("Element2"));
myList.AddTail(_T("Element3"));

// 获取链表中元素2的位置
POSITION pos = myList.Find(_T("Element2"));

if (pos != NULL) {
    // 删除元素2
    myList.RemoveAt(pos);

    // 遍历链表并输出元素
    pos = myList.GetHeadPosition();
    while (pos != NULL) {
        CString strElement = myList.GetNext(pos);
        // 处理元素,例如输出到控制台
        wprintf(_T("Element: %s\n"), strElement);
    }
}

在上述示例中,Find 方法用于找到链表中元素 "Element2" 的位置,然后通过 RemoveAt 方法删除该位置的元素。最后,通过遍历链表输出剩余的元素。


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