字符串类(CString)

构造函数

CString( );
例:CString csStr;

CString( const CString& stringSrc );
例:CString csStr("ABCDEF中文123456");
CString csStr2(csStr);

CString( TCHAR ch, int nRepeat = 1 );
例:CString csStr('a',5);
//csStr="aaaaa"

CString( LPCTSTR lpch, int nLength );
例:CString csStr("abcdef",3);
//csStr="abc"

CString( LPCWSTR lpsz );
例:wchar_t s[]=L"abcdef";
CString csStr(s);
//csStr=L"abcdef"

CString( const unsigned char* psz );
例:const unsigned char s[]="abcdef";
const unsigned char* sp=s;
CString csStr(sp);
//csStr="abcdef"

CString( LPCSTR lpsz );
例:CString csStr("abcdef");
//csStr="abcdef"

CString类的构造函数可以作为转换函数,实现与const char* 和 LPCSTR等数据类型之间的转换。

成员函数

可参考: ​​
关于字符串操作,这篇文章里也有一些知识点: ​

集合类

数组类

类声明:

template < class TYPE, class ARG_TYPE >
class CArray : public CObject

CArray类既可以固定数组大小,也可以动态添加元素扩展数组大小。不管数组元素中的值是什么,CArray都会连续分配内存。与C中的数组一样,使用索引访问CArray元素时,索引值必须为常数,且必须在数组大小范围内。
CArray类还提供了一些成员函数。

链表类

CList类与CArray类的实现方式类似,区别在于,CArray实现顺序存储的数组,而CList类实现对象的链表存储方式,其是双向指针链表。其中使用POSITION类型的变量表示链表中元素的位置,但是POSITION与索引的类型是不同的,可以看作书签。链表类的声明如下:

template < class TYPE,class ARG_TYPE >
class CList : public CObject

链表类也提供了一组成员函数。

日期、时间类

CTime

CTime没有基类,表示一个绝对时间和日期,是一个time_t的数据类型,并且与运行时库函数相连。

CTimeSpan类

时间间隔

MFC文件操作类 CFile

MFC中使用CFile类封闭了有关文件的操作,它是MFC的基类,并直接提供了非缓冲的、二进制磁盘输入/输出服务。通过派生类间接支持文本文件和内存文件,并且与CArchive类结合使用可以提供对序列化的支持。

MFC 异常类

CException类是MFC中的所有异常类的基类。

文件异常类 CFileException