C++ char wchar_t转换函数接口

来源:互联网 发布:网络管理专业 编辑:程序博客网 时间:2024/04/30 09:08
/**
*  @param cbCharSize: lpCharStr的字节个数,可以设为-1,如果以null结束。
*  @param cchWCharCnt: lpWCharStr的字符个数
*
*  @return: 如果成功,返回写入lpWCharStr的字符个数;如果成功并且cchWiCharCnt==0,
*  返回lpWideCharStr缓存区需要的字符个数。
*  失败返回0。
*
**/
DWORD CharToWChar_t( LPSTR lpCharStr, DWORD cbCharSize, LPWSTR lpWCharStr, DWORD cchWCharCnt)
{
    return MultiByteToWideChar( CP_ACP, 0, lpCharStr, cbCharSize, lpWCharStr, cchWCharCnt );
}

/**
* @param cchWCharCnt:字符个数,可以设为-1,如果以null结束。
* @param cbCharSize:lpCharStr串的字节大小。

*  @return: 如果成功,返回写入lpCharStr的字符个数;如果成功并且cbCharSize==0,
*  返回lpCharStr缓存区需要的字节个数。
*  失败返回0。
*
**/
DWORD WChar_tToChar( LPWSTR lpWCharStr, DWORD cchWCharCnt, LPSTR lpCharStr, DWORD cbCharSize)
{
    return WideCharToMultiByte(CP_ACP, 0, lpWCharStr, cchWCharCnt, lpCharStr, cbCharSize, NULL, NULL);
}