原生绘制字符(满意一般)
This commit is contained in:
@@ -264,6 +264,51 @@ wchar_t* DNFTOOL::charTowchar_t(char* wbuffer)
|
||||
return wcString;
|
||||
}
|
||||
|
||||
wchar_t* DNFTOOL::char2wchar(const char* cchar)
|
||||
{
|
||||
wchar_t* m_wchar;
|
||||
int len = MultiByteToWideChar(CP_ACP, 0, cchar, strlen(cchar), NULL, 0);
|
||||
m_wchar = new wchar_t[len + 1];
|
||||
MultiByteToWideChar(CP_ACP, 0, cchar, strlen(cchar), m_wchar, len);
|
||||
m_wchar[len] = '\0';
|
||||
return m_wchar;
|
||||
}
|
||||
|
||||
char* DNFTOOL::wchar2char(const wchar_t* wchar)
|
||||
{
|
||||
char* m_char;
|
||||
int len = WideCharToMultiByte(CP_ACP, 0, wchar, wcslen(wchar), NULL, 0, NULL, NULL);
|
||||
m_char = new char[len + 1];
|
||||
WideCharToMultiByte(CP_ACP, 0, wchar, wcslen(wchar), m_char, len, NULL, NULL);
|
||||
m_char[len] = '\0';
|
||||
return m_char;
|
||||
}
|
||||
|
||||
wchar_t* DNFTOOL::SquirrelW2W(const wchar_t* Str)
|
||||
{
|
||||
size_t len = 0;
|
||||
char* wbuffer = (char*)(Str);
|
||||
while (true)
|
||||
{
|
||||
if (wbuffer[len] == 0 && wbuffer[len + 1] == 0)break;
|
||||
++len;
|
||||
}
|
||||
char* cbuffer = new char[len / 2 + 1];
|
||||
int k = 0;
|
||||
for (size_t i = 0; i < len; i++)
|
||||
{
|
||||
if (i % 2 == 0)
|
||||
{
|
||||
cbuffer[k] = wbuffer[i];
|
||||
++k;
|
||||
}
|
||||
}
|
||||
cbuffer[len / 2] = '\0';
|
||||
wchar_t* str = DNFTOOL::char2wchar(cbuffer);
|
||||
delete cbuffer;
|
||||
return str;
|
||||
}
|
||||
|
||||
wchar_t* DNFTOOL::AnsiToUnicode(const char* szStr, wchar_t* pResult, int maxLen)
|
||||
{
|
||||
if (NULL == pResult)
|
||||
|
||||
Reference in New Issue
Block a user