字符转换

1214阅读 0评论2011-06-13 光速
分类:C/C++

将ANSI转换到Unicode
(1)通过L这个宏来实现,例如:   CLSIDFromProgID(   L "MAPI.Folder ",&clsid);
(2)通过MultiByteToWideChar函数实现转换,例如:
char   *szProgID   =   "MAPI.Folder ";
WCHAR   szWideProgID[128];
CLSID   clsid;
long   lLen   =   MultiByteToWideChar(CP_ACP,0,szProgID,strlen(szProgID),szWideProgID,sizeof(szWideProgID));
szWideProgID[lLen]   =   '\0 ';  
(3)通过A2W宏来实现,例如:  
USES_CONVERSION;  
CLSIDFromProgID(A2W(szProgID),&clsid);  

将Unicode转换到ANSI
(1)使用WideCharToMultiByte,例如:
//   假设已经有了一个Unicode   串   wszSomeString...  
char   szANSIString   [MAX_PATH];  
WideCharToMultiByte(CP_ACP,WC_COMPOSITECHECK,wszSomeString,-1,szANSIString,   sizeof(szANSIString),NULL,NULL);  
(2)使用W2A宏来实现,例如:
USES_CONVERSION;
pTemp=W2A(wszSomeString);
上一篇:DECLARE_INTERFACE宏
下一篇:学习ITypeLib与ITypeInfo的基础用法