BSTR与WCHR的区别在什么地方 BSTR是字符串,"ABCDEFG\0"之前字符的ascii编码数组。 CHAR是字符,以上每一个都是一个CHAR WCHAR是Wide CHAR就是宽字符,顾名思义,2个CHAR空间保存的字符的Unicode编码。这个编码。。。 没法举例了。不记得~ Top 2楼 EnochShen (小疯子:真的好菜—知耻而后勇!) 回复于 2005-03-05 23:54:50 得分 0 WCHR是wchar_t BSTR是wchar_t*,CHAR是char wchar_t是Unicode用的宽字符类型。用双字表示的字符.汉字字符即为双字 可以用Win32Api的MultiByteToWideChar/WideCharToMultiByte或C运行库的mbstowcs/wcstombs系列函数对wchar_t* 和 char* 之间进行转换 Top 3楼 masterz (www.fruitfruit.com) 回复于 2005-03-06 00:08:48 得分 0 BSTRs are wide, double-byte (Unicode) strings on 32-bit Windows platforms and narrow, single-byte strings on the Apple® PowerMac™. BSTR只能用SysAllocString/SysFreeString来管理, wchar_t* 可以通过new/delete来管理。 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/automat/htm/chap7_5alv.asp BSTR本身保存有string的长度:The length is stored as a 32-bit integer at the memory location preceding the data in the string. Top 4楼 cn2000 (菜鸟2000) 回复于 2005-03-06 21:55:28 得分 0 up... Top 5楼 cn2000 (菜鸟2000) 回复于 2005-03-10 10:39:42 得分 0 还有一个问题: TCHAR szBuffer[512]; wsprintf(szBuffer,_T("errord")); SysAllocString(szBuffer); 最后一行编译通不过. error C2664: 'SysAllocString' : cannot convert parameter 1 from 'char [512]' to 'const unsigned short *' Top 相关问题 BSTR与WCHR的区别在什么地方? 写COM用bstr的时候“bstr” : 未声明的标识符,要include什么啊? 全文检索和模糊检索的区别到底在什么地方? 程序在别的地方出错,高手进来看看还有什么地方要注意的。 _bstr_t bstrtxt为什么报“_bstr_t” : 未声明的标识符? 有什么办法可以查出内存泄漏(OutOfMemory)发生在什么地方? J2ee j2me是什么东西阿,有什么区别么 visual studio.net 中带的vc++和vc++ 6.0有什么有什么区别吗? 只知道Struts,询问一下还有什么好的框架,Spring,webwork....有什么区别? 请问xml里面element和node有什么区别,他们之间有什么办法进行转换? 网站简介-广告服务-网站地图-帮助信息-联系方式-English-问题报告 CSDN北京百联美达美数码科技有限公司 版权所有 京 ICP 证 020026 号 CSDN © 2000-04, CSDN.NET, All Rights Reserved