Chinaunix首页 | 论坛 | 博客
  • 博客访问: 528796
  • 博文数量: 40
  • 博客积分: 6020
  • 博客等级: 准将
  • 技术积分: 1711
  • 用 户 组: 普通用户
  • 注册时间: 2005-09-20 18:49
文章分类

全部博文(40)

文章存档

2011年(10)

2010年(13)

2009年(12)

2008年(5)

分类: C/C++

2011-01-06 08:11:28

1.将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);      

2.将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);

阅读(6614) | 评论(0) | 转发(0) |
0

上一篇:VC注释宏

下一篇:批处理创建多个文件夹

给主人留下些什么吧!~~