char string convert to wchar_t string:
size_t mbstowcs( wchar_t *wcstr, const char *mbstr, size_t count );
count 表示 wcstr (接收) 有多少數量,如果 count 為 3 則表示 wcstr 的長度為 3 個 wchar_t
回傳值為轉換了多少個字元
如果 wcstr 為 NULL (當然 count 為 0),則表示我們只是要測得 mbstr 轉換成 wcstr 需要多少個 count,然後再去 new 出 count + 1 個 wchar_t
char mbstr[] = "哈囉 大家好"; size_t required = mbstowcs(NULL, mbstr, 0); wchar_t* wcstr = new wchar_t [required + 1]; size_t size = mbstowcs(wcstr, mbstr, required + 1);
wchar_t string convert to char string:
size_t wcstombs( char *mbstr, const wchar_t *wcstr, size_t count );
count 表示 mbstr (接收) 有多少數量,如果 count 為 3 則表示 mbstr 的長度為 3 個 char
回傳值為轉換了多少個字元
如果 mbstr 為 NULL (當然 count 為 0),則表示我們只是要測得 wcstr 轉換成 mbstr 需要多少個 count,然後再去 new 出 count + 1 個 char
wchar_t wcstr[] = L"哈囉 大家好"; size_t required = wcstombs(NULL, wcstr, 0); char_t* mbstr = new char [required + 1]; size_t size = wcstombs(mbstr, wcstr, required + 1);
ref:
• mbstowcs、_mbstowcs_l | Microsoft Docs
• wcstombs、_wcstombs_l | Microsoft Docs
#C++ #coding #convert #UTF8 #unicode