Get the App
SLTechnology News&Howtos  ›  Servers  › 

MFC lesson 3 multibyte processing

Shulou Source: shulou.com Published: 2022-06-02 18:06:46 09月11日 Update

DrawTextW (Unicode) and DrawTextA (ANSI)

Different parameters

To put it simply,

Unicode uses two bytes to represent all characters, including letters

Ansi uses 1 byte to represent letters and two bytes to represent characters such as Chinese characters.

ANSI uses DrawTextA when string variables

The string variable is Unicode using DrawTextW

Conversion of CString wide bytes to multi-byte strings

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

}

Note: the second call to WideCharToMultiByte is mainly to get the generated length.

Tags: Bytes characters strings two variables letters different parameters text length Cheng many Chinese characters generation processing Apple Docker Huawei Linux macOS MariaDB Microsoft MySQL NVidia OPPO Reno Shulou Information macOS Shulou Tech Info Linux vpn