上一次讲了VC中常用的字符串有四种:CHAR, TCHAR, WCHAR, BSTR那么它们之间如何转换呢?
本来这个问题很麻烦,幸好VC为我们提供了现成的函数。先来看看从CHAR到TCHAR
就是这个函数了
A2T(CHAR*, TCHAR*)
大家来看这里A代表CHAR类型的,T代表TCHAR类型的。
如果要从CHAR转换到LPCTSTR那么就是
A2CT(CHAR*, LPCTSTR)
你一定已经看出规律了A和T,不用解释了。这里的C代表const记得上次我们说过LPCTSTR就是const TCHAR*哦。现在你一定都明白了。
按照这个规律,我们只要知道四种字符串的"代号"就可以在它们之间自由的做转换了。下面就是他们的代号。
CHAR --- A
TCHAR --- T
BSTR --- OLE
WCHAR --- W
const --- C
下面这张图是从msdn中摘下来的,是所有的字符串转换函数:
说了半天,还是看个例子吧。注意在使用转换函数之前要调用USES_CONVERSION宏。
#include
void func( LPSTR lpsz )
{
USES_CONVERSION;
...
LPWSTR x = A2W(lpsz)
// Do something with x
...
}
更详细地介绍大家还是看msdn吧。
你可以使用这个链接引用该篇文章 http://publishblog.blogchina.com/blog/tb.b?diaryID=222471