首页  >   经验  >   string和CString互换互用详细分析

string和CString互换互用详细分析

查看 codexia 的博客 2015-06-23 16:06:09 1290
string  
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
简介本文详细介绍了string和CString的区别和互用基础原理和技巧,以及CString使用需要注意的一些东西。相信对这些使用不熟悉或者不深入的,看了一定有所收获。
    string和CString互用的难点就在于宽窄字符的互换问题。如果解决了这个问题,互换互用就不存在问题了。先来说说这两个的基本区别。CString是MFC中的字符串处理类,string是C++标准库的字符串处理类。两个的最适合的场合不一样,string适合于C字符串的地方,因为string内部实现是C字符数组模型,可以很好的处理C风格字符串。而CString则是出身于MFC,作为MFC的考虑,自然考虑的高远,因此给CString的实现增加了通用性,其内部实现是根据环境编码来调整的。如果环境使用Unicode编码形式,那么调用构造函数时,使用的是Unicode版本,因此每个字符就是用两个字节表示,就是宽字符类型字符串,而C风格字符串则是一个字节表示一个字符串的。如果环境使用多字节字符集形式,那么CString内部实现就是一个字节表示一个字符,这与C风格字符串兼容,因此处理起来就很方便了。
    而平常在使用CString时,使用宏_T()或者TEXT()让IDE自动区分宽窄字符,因此就省去了很多问题。但是有时候,也带来了问题。如果对于环境编码不熟悉的朋友,就不知道怎么处理了。有时候也不知道CString内部到底是宽字符还是窄字符。这里说明一下,在IDE的“项目”菜单中,选择”XXX属性”(XXX为工程名字),在“配置属性”>>“常规”>>“字符集”可以区别。改这里的字符集将会对代码中所有含有_T()或者TEXT()的以及T版的函数和变量名等都产生影响。可能就会使代码编译不通过等问题,视具体情况而定。而显式使用W版(宽字符版)和A版窄字符版的函数和变量类型,都不受影响。
   
1.微信扫码
2.点击按钮,粘贴命令
自动刷新 手动刷新
命令:rd 9L:,h 复制
提示:如果您发送了命令,自动刷新会展开全文。自动刷新最多60秒,超过60秒请点击手动刷新。
创作不易,汗水不止!为防止劳动果实被爬虫窃取,开启了反爬机制,需要您发送命令继续阅读。取关会再次出现此提示。一段时间后出现此提示,请再次发送即可。如有问题,请加客服微信Freeme007处理。感谢您的理解。
标注
评论
站内搜
百度搜
传送到手机
手机扫码,识别文字,完成传送x
加载中...
标注内容x
加载中...
添加标注x
文章标题:string和CString互换互用详细分析
文章地址:http://www.cjjjs.com/article/62320159616897
转载到个人博客,请在文末带上右侧内容(含超链接):本文转载自:string和CString互换互用详细分析
收藏 0 点赞 0
公众号
微信赞赏
支付宝赞赏
领支付宝大红包
QQ群

相关阅读

  1. C++ Primer Plus 6th 4.13 编程练习题 第4题 使用string来实现字符串拼接 查找全网同类文章
  2. C++ Primer Plus 6th 4.13 编程练习题 第2题 getline输入数据给string 查找全网同类文章
  3. C++ Primer Plus 6th 4.12 复习题 第7题 声明并初始化string对象 查找全网同类文章
  4. string系列:10 string和IO操作 查找全网同类文章
  5. MFC学习实践之简易音乐播放器(一)主界面演示及基本原理说明 查找全网同类文章
  6. string系列:8 std::string的字符串拼接操作使用分析 查找全网同类文章
  7. CString和string字符串的相互转换 查找全网同类文章
  8. string系列:7 string分割字符串split实现 查找全网同类文章
  9. string系列:6 string和wstring相互转换以及wstring显示中文问题 查找全网同类文章
  10. string系列:5 string截断两端的空格实现 查找全网同类文章
分享到:
分享文章[string和CString互换互用详细分析]到QQ空间

相关阅读

猜您感兴趣