Visual C++应用教程 郑阿奇 丁有和 第6章数据和文档

Visual C++应用教程 郑阿奇 丁有和 第6章数据和文档

ID:40239565

大小:741.50 KB

页数:47页

时间:2019-07-28

Visual C++应用教程 郑阿奇 丁有和 第6章数据和文档_第1页
Visual C++应用教程 郑阿奇 丁有和 第6章数据和文档_第2页
Visual C++应用教程 郑阿奇 丁有和 第6章数据和文档_第3页
Visual C++应用教程 郑阿奇 丁有和 第6章数据和文档_第4页
Visual C++应用教程 郑阿奇 丁有和 第6章数据和文档_第5页
资源描述:

《Visual C++应用教程 郑阿奇 丁有和 第6章数据和文档》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章数据和文档6.1CString类6.2使用简单数组集合类6.3使用CFile类6.4文档序列化6.5综合应用6.1CString类6.1.1BSTR、constchar*、LPCTSTR和CString什么是BSTR、LPSTR以及LPWSTR呢?BSTR(BasicSTRing,Basic字符串)是一个OLECHAR*类型的Unicode字符串。它被描述成一个与自动化相兼容的类型。由于操作系统提供相应的API函数(如SysAllocString)来管理它以及一些默认的调度代码,因此BSTR实际上就是一个COM字符串,但它却在自动化技术以外的多种场合下也得到了较

2、为广泛的使用。LPSTR和LPWSTR是Win32和VisualC++所使用的一种字符串数据类型。LPSTR被定义成是一个指向以NULL(‘’)结尾的8位ANSI字符数组指针,而LPWSTR是一个指向以NULL结尾的16位双字节字符数组指针。在VisualC++中,还有类似的字符串类型,如LPTSTR、LPCTSTR等,它们的含义如图6.1所示。LP[C][W

3、T]STRLongpointertoaStringConstant(ANSI)

4、Unicode

5、Geniric图6.1字符串类型表示的含义6.1CString类例如,LPCTSTR是指“longpointe

6、rtoaconstantgenericstring”,表示“一个指向一般字符串常量的长指针类型”,与C/C++的constchar*相映射,而LPTSTR映射为char*。一般地,VisualC++中还有下列类型定义:#ifdefUNICODEtypedefLPWSTRLPTSTR;typedefLPCWSTRLPCTSTR;#elsetypedefLPSTRLPTSTR;typedefLPCSTRLPCTSTR;#endif6.1CString类CString类支持字符串类型,并可通过CString类构造函数和一些运算符进行构造。CString类构造函数原型如下:C

7、String();CString(constCString&stringSrc);CString(TCHARch,intnRepeat=1);CString(LPCTSTRlpch,intnLength);CString(constunsignedchar*psz);CString(LPCWSTRlpsz);CString(LPCSTRlpsz);例如:CStrings1;//创建一个空字符串CStrings2("cat");//从C语言样式的字符串来创建s2CStrings3=s2;//使用拷贝构造函数,将s2作为s3的初值CStrings4(s2+""+s3);/

8、/从一个字符串表达式来创建s4CStrings5('x');//使s5="x"CStrings6('x',6);//使s6="xxxxxx"CStrings7((LPCSTR)ID_FILE_NEW);//从资源ID_FILE_NEW的字符串值创建s7//等同于://CStrings7 ;//s7.LoadString(ID_FILE_NEW) ;CStringcity="Philadelphia";//从C语言样式的字符串来创建city6.1CString类当然,也可使用CString类的Format成员函数将任意数据类型转换成CString字符串。Format成员

9、函数使用C语言的printf的格式样式进行创建,例如:CStringstr;str.Format("Floatingpoint:%.2f",12345.12345);str.Format("Left-justifiedinteger:%.6d",35);若将一个CString字符串向上述字符串类型进行转换,则可使用CString类提供了的constchar*、LPCTSTR运算符以及AllocSysString和SetSysString成员函数等。例如://将CString向LPTSTR转换的方法一CStringtheString("Thisisatest")

10、;LPTSTRlpsz=newTCHAR[theString.GetLength()+1];//TCHAR在Unicode平台中等同于WCHAR(16位Unicode字符),在ANSI中等价于char。_tcscpy(lpsz,theString);//将CString向LPTSTR转换的方法二CStringtheString("Thisisatest");LPTSTRlpsz=(LPTSTR)(LPCTSTR)theString;//将CString向BSTR转换CStringstr("Thisisatest");BSTRbstrText=str.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。