C++中CSTRINGLIST用法详解_C 语言

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;
}

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

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c++
cstringlist
cstringlist用法、c语言list用法、c语言指针用法详解、c语言linklist用法、cstringarray用法,以便于您获取更多的相关知识。

时间: 2025-01-19 04:22:54

C++中CSTRINGLIST用法详解_C 语言的相关文章

c++ 中__declspec 的用法详解_C 语言

c++ 中__declspec 的用法如下,想要了解的继续往下看吧. 语法说明: __declspec ( extended-decl-modifier-seq ) 扩展修饰符: 1:align(#) 用__declspec(align(#))精确控制用户自定数据的对齐方式 ,#是对齐值. e.g __declspec(align(32)) struct Str1{ int a, b, c, d, e; }; 它与#pragma pack()是一对兄弟,前者规定了对齐的最小值,后者规定了对齐的最

C++中auto_ptr智能指针的用法详解_C 语言

智能指针(auto_ptr) 这个名字听起来很酷是不是?其实auto_ptr 只是C++标准库提供的一个类模板,它与传统的new/delete控制内存相比有一定优势,但也有其局限.本文总结的8个问题足以涵盖auto_ptr的大部分内容. auto_ptr是什么? auto_ptr 是C++标准库提供的类模板,auto_ptr对象通过初始化指向由new创建的动态内存,它是这块内存的拥有者,一块内存不能同时被分给两个拥有者.当auto_ptr对象生命周期结束时,其析构函数会将auto_ptr对象拥有

浅谈c++中的stl中的map用法详解_C 语言

Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道.这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处. 下面举例说明什么是一对一的数据映射.比如一个班级中,每个学生的学号跟他的姓名就存在着一一

C++ Vector用法详解_C 语言

vector是C++标准模版库(STL,Standard Template Library)中的部分内容.之所以认为是一个容器,是因为它能够像容器一样存放各种类型的对象,简单的说:vector是一个能够存放任意类型的动态数组,能够增加和压缩数据. 使用vector容器之前必须加上<vector>头文件:#include<vector>; vector属于std命名域的内容,因此需要通过命名限定:using std::vector;也可以直接使用全局的命名空间方式:using nam

C++指向函数的指针用法详解_C 语言

本文以实例形式展示了C++指向函数的指针用法,是深入学习C++所必须掌握的关键知识点.分享给大家供大家参考之用.具体方法如下: 函数指针 现来看看以下声明语句,看看其含义: float (*h(int, void (*)(int)))(int); 以下是一个变量指针的定义语句: float* pf; 以下是一个普通函数的声明语句: float f(); 请看以下声明语句: float* g(); 因为()的优先级高于*, 所以相当于: float* (g()); g是一个函数, 返回值为floa

从汇编看c++中的多态详解_C 语言

在c++中,当一个类含有虚函数的时候,类就具有了多态性.构造函数的一项重要功能就是初始化vptr指针,这是保证多态性的关键步骤. 构造函数初始化vptr指针 下面是c++源码: class X { private: int i; public: X(int ii) { i = ii; } virtual void set(int ii) {//虚函数 i = ii; } }; int main() { X x(1); } 下面是对应的main函数汇编码: _main PROC ; 16 : in

C++中memset函数用法详解_C 语言

本文实例讲述了C++中memset函数用法.分享给大家供大家参考,具体如下: 功 能: 将s所指向的某一块内存中的每个字节的内容全部设置为ch指定的ASCII值,块的大小由第三个参数指定,这个函数通常为新申请的内存做初始化工作 用 法: void memset(void *s, char ch, unsigned n); 程序示例: #include <string.h> #include <stdio.h> #include <memory.h> int main(v

MFC中Radio Button的用法详解_C 语言

本文通过针对两个常见问题的解决方案,详细阐述了MFC中Radio Button的用法.有助于读者加深对于MFC运行机制及Radio Button控件用法的理解. 首先为对话框加上2个radio button,分别是Radio1和Radio2. 问题1:如何让Radio1或者Radio2默认选上?如何知道哪个被选上了? 关键是选上,"默认"只要放在OnInitDialog()即可.有如下的三种方法可以让它选上: 第一种: ((CButton *)GetDlgItem(IDC_RADIO1

C++中赋值运算符与逗号运算符的用法详解_C 语言

赋值运算符 赋值符号"="就是赋值运算符,它的作用是将一个数据赋给一个变量.如"a=3"的作用是执行一次赋值操作(或称赋值运算).把常量3赋给变量a.也可以将一个表达式的值赋给一个变量.赋值过程中的类型转换 如果赋值运算符两侧的类型不一致,但都是数值型或字符型时,在赋值时会自动进行类型转换. 1)  将浮点型数据(包括单.双精度)赋给整型变量时,舍弃其小数部分. 2)  将整型数据赋给浮点型变量时,数值不变,但以指数形式存储到变量中. 3) 将一个double型数据