WTL中的CString与MFC对比分析

需积分: 0 62 下载量 73 浏览量 更新于2024-08-09 收藏 1006KB PDF 举报
"此资源主要介绍了WTL中的CString类及其与其他MFC类的比较,并提到了WTL提供的其他与MFC相似的封装类。此外,该资源还提到了WTL的图形界面开发支持,如命令条、框架窗口和多线程应用程序的创建。" 在第十章“CString及其他”中,主要探讨了CString类在ATL和WTL中的应用和差异。首先,CString类是许多开发者在MFC中常用的字符串处理类,现在在ATL和WTL中也能使用,实现了与MFC的兼容性。WTL中的CString具有以下特点: 1. WTL的CString同样采用了写时复制(copy-on-write)机制,与MFC保持一致。 2. 多数WTL版本的方法接受CString作为参数,方便与MFC代码互操作。 3. WTL的CString拥有与MFC相似的方法集合,但存在少数方法重载的差异和CollateNoCase()方法的不同。 4. 在处理空白字符方面,WTL的TrimRight()和TrimLeft()仅去除多余空格,而MFC版可以删除指定字符或字符集。 5. WTL的Find方法与MFC的一个Find版本相同,从字符串开头搜索特定字符;MFC还提供了一个从指定索引位置开始搜索的版本。 6. WTL的CString也存在与MFC相同的问题,即依赖于C Runtime Library (CRT),这可能在某些不支持CRT的ATL COM服务中造成问题。 7. WTL的AllocBuffer()和AllocBeforeWrite()方法返回类型为BOOL,与MFC的void返回类型不同。 8. WTL的Format方法不支持浮点数格式化,这是与MFC的一个显著区别。 除了CString,WTL还提供了CRect、CSize、CPoint、CFileFind和CWaitCursor等与MFC类似的封装类。对于MFC中的CURRENCY和DATE,WTL未提供相应支持,但可以通过第三方工具获取。资源中提到,可以从http://www.sellsbrothers.com/tools下载这些辅助类。 整个资源涵盖了WTL的基本使用和图形界面开发的基础知识,包括命令条、带视图的框架窗口、多线程SDI和MDI应用程序的创建,以及GDI的封装等。通过这些内容,读者可以学习如何使用WTL进行高效且功能丰富的图形界面开发。