现在的位置: 首页 > 综合 > 正文

wchar_t char 间的转换

2014年01月17日 ⁄ 综合 ⁄ 共 791字 ⁄ 字号 评论关闭

BOOL CharToWChar(LPCSTR lpcszStr, LPWSTR lpwszStr, DWORD dwSize)
{
    // Get the required size of the buffer that receives the Unicode
    // string.
    DWORD dwMinSize;
    dwMinSize = MultiByteToWideChar (CP_ACP, 0, lpcszStr, -1, NULL, 0);

    if(dwSize < dwMinSize)
    {
        return FALSE;
    }

    // Convert headers from ASCII to Unicode.
    MultiByteToWideChar (CP_ACP, 0, lpcszStr, -1, lpwszStr, dwMinSize);  
    return TRUE;
}
BOOL WCharToChar(LPCWSTR lpcwszStr, LPSTR lpszStr, DWORD dwSize)
{
    DWORD dwMinSize;
    dwMinSize = WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,NULL,0,NULL,FALSE);
    if(dwSize < dwMinSize)
    {
        return FALSE;
    }
    WideCharToMultiByte(CP_OEMCP,NULL,lpcwszStr,-1,lpszStr,dwSize,NULL,FALSE);
    return TRUE;
}
// 用法
 WCharToChar(wText,sText,sizeof(sText)/sizeof(sText[0]));
 CharToWChar(sText,wText2,sizeof(wText)/sizeof(wText2[0]));

抱歉!评论已关闭.