×
新网 > 虚机资讯 > 正文

MFC第三课 多字节处理

  • 作者:zccc
  • 来源:网络
  • 2020-07-13 09:07:21

系统运维 DrawTextW (Unicode) and DrawTextA (ANSI)参数不同 简单来说unicode 是用两个字节表示所有的字符,包括字母,ansi 是用1个字节

系统运维

DrawTextW (Unicode) and DrawTextA (ANSI)

参数不同

 

简单来说

unicode  是用两个字节表示所有的字符,包括字母,

ansi  是用1个字节表示字母,两个字节表示汉字等文字

 

字符串变量时ANSI使用DrawTextA

字符串变量是Unicode使用DrawTextW


CString宽字节转换成多字节字符串


 void CStringToChar(CString strSrc,char* pDest,int size)
{
  memset(pDest,0,size);
  int nLength = strSrc.GetLength();
  int nBytes = WideCharToMultiByte(CP_ACP,0,strSrc,nLength,NULL,0,NULL,NULL);
  WideCharToMultiByte(CP_OEMCP, 0, strSrc, nLength, pDest, nBytes, NULL, NULL); 
  pDest[nBytes] = 0;
};

注意:第二次调用WideCharToMultiByte主要是为了能够获取生成的长度


新网虚拟主机

  • 相关专题

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

免费咨询获取折扣

Loading