系统运维 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进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。