VC中的字符串
来源:互联网 发布:photoshop6 mac 编辑:程序博客网 时间:2024/06/06 01:21
字符串
CHAR
这个类型是最简单的字符串了,就是一个字节表示一个字符的那种,不过你可别小看它,先弄懂它别的就好说了。接下来我们看看它的两个”变种”
LPSTR
在VC里头这个字符串实际上就是CHAR*,注意如果你把它作为参数传给某个函数的话,就表示它所代表的字符串可以被函数改变。这一点很重要,也就是说 LPSTR可以作为传出参数[in]使用。
LPCSTR
在VC里头这个字符串表示const CHAR*,也就是说它是个常量,如果作为参数传递个函数,它所表示的字符串的值是不能变的,也就是说它只能作为传 入[out]参数使用。
请认真比较上面的一些区别,在下面的字符串中,几乎都是这样划分的。
WCHAR
这个比较容易理解,就是使用两个字节表示一个字符的那种,如果咱们把项目定义为UNICODE的话,所有字符串都是这个了。同样的它也有两个变形LPWSTR和LPCWSTR。
TCHAR
这个字符串最经常使用。为什么呢?因为VC为了大家的方便,比如你想把项目从ANSI(单字节)改为UNICODE(双字节),如果你用的是TCHAR那 么就不用着急了。VC会自动为你转换。
说到底TCHAR就是你在没有定义项目是UNICODE之前它就是了CHAR,否则它就是WCHAR。就这么简单。
类型转换
VC中常用的字符串有四种:CHAR, TCHAR, WCHAR, BSTR那么它们之间如何转换呢?
本来这个问题很麻烦,幸好VC为我们提供了现成的函数。先来看看从CHAR到TCHAR
就是这个函数了
CA2T(CHAR*, TCHAR*)
大家来看这里A代表CHAR类型的,T代表TCHAR类型的。
如果要从CHAR转换到LPCTSTR那么就是
CA2CT(CHAR*, LPCTSTR)
你一定已经看出规律了A和T,不用解释了。这里的C代表const记得上次我们说过LPCTSTR就是const TCHAR*哦。现在你一定都明白了。
按照这个规律,我们只要知道四种字符串的”代号”就可以在它们之间自由的做转换了。下面就是他们的代号。
CHAR — A
TCHAR — T
BSTR — OLE
WCHAR — W
const — C
转载:http://blog.csdn.net/tonykk2008/article/details/7954438
- vc中的字符串
- vc中的字符串分割
- VC++中的字符串
- VC中的字符串操作
- VC中的字符串【转】
- VC中的字符串
- VC中的字符串处理函数
- VC中的字符串转换宏
- VC中的字符串转换宏
- VC中的字符串表示方法
- VC MFC 中的字符串转换
- VC中的字符串转换宏
- VC# 2005中的字符串和正规表达式
- VC# 2005中的字符串和正规表达式
- VC++中的类型转换和字符串操作
- VC中的宽窄字符串相互转换
- VC++字符串
- VC字符串
- C语言中static详解
- 实例7:实现仿Windows7图片预览窗格效果
- Call to undefined function curl_init()
- OS_操作系统的CRONTAB 无法定时自动执行
- 前端开发入门:包管理工具bower
- VC中的字符串
- unity音效插件—— FMOD学习
- 一个动态增长的栈实现
- Java学习之Iterator(迭代器)的一般用法 (转)
- matlab2013b 安装教程
- 读取xml文件和json文件
- 大话设计模式
- Android项目结构之模块内结构优化
- 【剑指offer】3.4代码的鲁棒性——面试题18:树的子结构