Skip to content

Commit 78ca6b0

Browse files
committed
feat: improve utf82cs function
1 parent 3b16ebc commit 78ca6b0

1 file changed

Lines changed: 10 additions & 2 deletions

File tree

windows/APIExample/APIExample/stdafx.cpp

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -352,9 +352,17 @@ std::string cs2ANSI(CString str)
352352
}
353353
CString utf82cs(std::string utf8)
354354
{
355-
TCHAR szBuf[2048] = { 0 };
355+
/* TCHAR szBuf[2048] = { 0 };
356356
MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), 2048, szBuf, 2048);
357-
return szBuf;
357+
return szBuf;*/
358+
int len = MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), -1, NULL, 0);
359+
if (len == 0)
360+
{
361+
return CString();
362+
}
363+
std::vector<wchar_t> buffer(len);
364+
MultiByteToWideChar(CP_UTF8, 0, utf8.c_str(), -1, buffer.data(), len);
365+
return CString(buffer.data());
358366
}
359367

360368

0 commit comments

Comments
 (0)