CStringList类支持CString对象的列表。所有的比较都是通过值比较来完成的,这意味着不是比较字符串的地址而是比较字符串中的字符。
CStringList的成员函数类似于类CObList
类的成员函数。由于具有这些相似性,你可以参考关于CObList的参考文件来获取CStringList成员函数的详细说明。如果在说明中看到某一函数的返回值是一个指向CObject对象的
指针,则可以用一个CString(而不是一个CString指针)来代替它。如果看到某一函数的参数是一个指向CObject的
指针,则可以用LPCTSTR来代替它。
例如,可以将
CObject*& CObList::GetHead() const;
转换为
CString& CStringList::GetHead() const;
和将
POSITION AddHead( CObject* <newElement> );
转换为
POSITION AddHead( LPCTSTR <newElement> );
CStringList与IMPLEMENT_SERIAL宏联合起来支持其元素的连续和转储。如果一个CString对象列表被用一个
重载的插入操作符或Serialize成员函数保存到一个存档中,则它的每一个元素都按顺序连续。
如果你需要
数组中个别字符串元素的转储,则应该将转储环境的深度设置为1或更大。
当一个CStringList对象被删除时,或当它的元素被删除时,则相应的CString对象被删除。
有关使用CStringList的更多信息,参见“Visual C++程序员指南”中的文章“集合”。
#include <afxcoll.h>
CStringList类成员
构造
构造一个空的CString对象列表 |
首/尾访问
GetHead
| 返回此列表(不能是空的)中头部的元素 |
GetTail | 返回此列表(不能是空的)中尾部的元素 |
操作
RemoveHead
| 从列表的头部删除元素 |
RemoveTail | 从列表的尾部删除元素 |
AddHead | 在列表的头部添加一个元素(或者是另一个列表中的所有元素),即产生一个新的头部 |
AddTail | 在列表的尾部添加一个元素(或者是另一个列表中的所有元素),即产生一个新的尾部 |
RemoveAll | 删除此列表中的所有元素 |
重复
GetHeadPosition
| 返回列表中的头部元素的位置 |
GetTailPosition | 返回列表中尾部元素的位置 |
GetNext | 获取用于重复的下一个元素 |
GetPrev | 获取用于重复的前一个元素 |
获取/修改
获取给定位置处的元素 | |
SetAt | 设置给定位置处的元素 |
RemoveAt | 从此列表中删除由位置指定的一个元素 |
插入
InsertBefore
| 在一个给定位置之前插入一个新元素 |
InsertAfter | 在一个给定位置之后插入一个新元素 |
搜索
获取由字符串值指定的元素的位置 | |
FindIndex | 获取由一个从零开始的索引指定的元素的位置 |
状态
返回此列表中的元素个数 | |
IsEmpty | 测试列表是否为空(没有元素) |