C++中CSTRINGLIST用法详解

CStringList类成员

构造


CStringList


构造一个空的CString对象列表

首/尾访问


GetHead


返回此列表(不能是空的)中头部的元素


GetTail


返回此列表(不能是空的)中尾部的元素

操作


RemoveHead


从列表的头部删除元素


RemoveTail


从列表的尾部删除元素


AddHead


在列表的头部添加一个元素(或者是另一个列表中的所有元素),即产生一个新的头部


AddTail


在列表的尾部添加一个元素(或者是另一个列表中的所有元素),即产生一个新的尾部


RemoveAll


删除此列表中的所有元素

重复


GetHeadPosition


返回列表中的头部元素的位置


GetTailPosition


返回列表中尾部元素的位置


GetNext


获取用于重复的下一个元素


GetPrev


获取用于重复的前一个元素

获取/修改


GetAt


获取给定位置处的元素


SetAt


设置给定位置处的元素


RemoveAt


从此列表中删除由位置指定的一个元素

插入


InsertBefore


在一个给定位置之前插入一个新元素


InsertAfter


在一个给定位置之后插入一个新元素

搜索


Find


获取由字符串值指定的元素的位置


FindIndex


获取由一个从零开始的索引指定的元素的位置

状态


GetCount


返回此列表中的元素个数


IsEmpty


测试列表是否为空(没有元素)

CStringList是CString链表,在MFC编程中STL之外的另一选择,用起来更加简洁.

插入数据:AddTail();AddHead()

删除数据:RemoveAll();RemoveAt();RemoveHead();RemoveTail()

取得元素个数:GetCount()

取得某个元素值:GetAt(cstringList.FindIndex(index))//index为整数

取得头尾元素:GetHead() ;GetTail(),

遍历最好用上面的方式,不要用POSITION变量,用FindIndex可以了。

初始化:

CStringList listFileName;
listFileName.RemoveAll();

添加操作:

listFileName.AddTail(szFullPathName);

遍历操作:

POSITION rPos;
rPos = listFileName.GetHeadPosition();
while (rPos != NULL)
{
strFileName = listFileName.GetNext(rPos);
strLog += "/r/n" + strFileName;
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

(0)

相关推荐

  • 深入理解c++中char*与wchar_t*与string以及wstring之间的相互转换

    复制代码 代码如下: #ifndef USE_H_      #define USE_H_ #include <iostream>      #include <windows.h>      #include <string>      using namespace std;      class CUser      {      public:          CUser();          virtual~ CUser();          char*

  • 分享C++面试中string类的一种正确写法

    具体来说: 能像 int 类型那样定义变量,并且支持赋值.复制. 能用作函数的参数类型及返回类型. 能用作标准库容器的元素类型,即 vector/list/deque 的 value_type.(用作 std::map 的 key_type 是更进一步的要求,本文从略). 换言之,你的 String 能让以下代码编译运行通过,并且没有内存方面的错误. 复制代码 代码如下: void foo(String x)  {  } void bar(const String& x)  {  } Strin

  • 标准C++类string的Copy-On-Write技术

    标准C++类std::string的内存共享和Copy-On-Write技术 陈皓 1.概念 Scott Meyers在<More Effective C++>中举了个例子,不知你是否还记得?在你还在上学的时候,你的父母要你不要看电视,而去复习功课,于是你把自己关在房间里,做出一副正在复习功课的样子,其实你在干着别的诸如给班上的某位女生写情书之类的事,而一旦你的父母出来在你房间要检查你是否在复习时,你才真正捡起课本看书.这就是"拖延战术",直到你非要做的时候才去做. 当然,

  • 浅谈C++中的string 类型占几个字节

    在C语言中我们操作字符串肯定用到的是指针或者数组,这样相对来说对字符串的处理还是比较麻烦的,好在C++中提供了 string 类型的支持,让我们在处理字符串时方便了许多. 首先,我写了一段测试代码,如下所示: 复制代码 代码如下: #include <iostream>using namespace std; int main(void){ string str_test1; string str_test2 = "Hello World"; int value1, val

  • C++利用stringstream进行数据类型转换实例

    本文实例讲述了C++利用stringstream进行数据类型转换的方法.分享给大家供大家参考.具体分析如下: 在C++标准库里面,使用stringstream 可以用于各种数据类型之间的转换 例如string 转 int 复制代码 代码如下: std::string strId = "1";  int id = 0;  std::stringstream ss;  ss << strId.c_str();  ss >> id; 希望本文所述对大家的C++程序设计

  • 深入C++ string.find()函数的用法总结

    #include <string>#include <iostream>using namespace std; void main(){ 复制代码 代码如下: ////find函数返回类型 size_typestring s("1a2b3c4d5e6f7g8h9i1a2b3c4d5e6f7g8ha9i");string flag;string::size_type position;//find 函数 返回jk 在s 中的下标位置 position = s.f

  • 探究C++中string类的实现原理以及扩展使用

    C++程序员编码过程中经常会使用string(wstring)类,你是否思考过它的内部实现细节.比如这个类的迭代器是如何实现的?对象占多少字节的内存空间?内部有没有虚函数?内存是如何分配的?构造和析构的成本有多大?笔者综合这两天阅读的源代码及个人理解简要介绍之,错误的地方望读者指出. 首先看看string和wstring类的定义: typedef basic_string<char, char_traits<char>, allocator<char> > string

  • C++中的string类的用法小结

    相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯定的.也许有人会说,即使不用MFC框架,也可以想办法使用MFC中的API,具体的操作方法在本文最后给出操作方法.其实,可能很多人很可能会忽略掉标准C++中string类的使用.标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用.现将具体用法的一部分罗列如下,只起一个

  • c++中的string常用函数用法总结

    标准c++中string类函数介绍 注意不是CString之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够.字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要.我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?).我们尽可以把它看成是C++的基本数据类型. 好了,进入正题---首先,为了在我们的程序中使用string类型,我们必须包含头文件 <string>

  • 详解C++中实现继承string类的MyString类的步骤

    昨天师兄又出了道测试题,让我们实现类似于string类的没有MyString类,刚开始很头疼,可是真正在自己写代码的时候又很兴奋的发现,这个过程真的是个很宝贵的机会,让我又有机会可以很好的熟悉回顾C++的很多知识-类设计,构造析构函数,成员函数,友元函数,引用,重载,字符串操作,动态内存分布.....于是昨天花了半天时间写了300多行代码,并认真的进行了相关测试.修改和总结.因为内容有点丰富,所以想分几次写出来,条理也清楚些. 类的空间分配:类给它的每个对象都分配了独立的空间去存储它的数据成员,

随机推荐