WideCharToMultiByte函数
功能:把一个宽字符串的格式映射(Map)到一个新的字符串中。这个新字符串可以不属于多字节字符集(multibyte character set)。
int WideCharToMultiByte(
//【输入参数】CP_开头,比如CP_UTF8,我就使用的这个。当参数为CP_UTF8这个值时,最后两个参数都必须为0
//在C++中,NULL==0,FALSE==0
UINT CodePage,
//【输入参数】转换算法的方式,一般是0,对于CP_UTF8,此值必须是0或者 WC_ERR_INVALID_CHARS
DWORD dwFlags,
//【输入参数】宽字符串的地址,(源 from)
LPCWSTR lpWideCharStr,
//【输入参数】lpWideCharStr的长度,单位是WCHAR。
//如果值为 -1 ,表示lpWideCharStr是以NULL结尾的字符串,函数自动计算字符串的长度.
//如果值为 0,函数将不能成功执行。
int cchWideChar,
// 【输出参数】转换后的字符串结果将放在这里。
LPSTR lpMultiByteStr,
//【输入参数】lpMutiByteStr的长度,单位为Byte。
//如果设置为0,则函数返回 lpMutiByteStr 的所需长度,而参数lpMutiByteStr不会被使用(可以设置成NULL)。
int cbMultiByte,
//【输入参数】如果字符集中没有对应的转换,就使用这个参数替换
//如果CodePage参数为UTF8,则必须设置为0
LPCSTR lpDefaultChar,
//【输入参数】如果CodePage参数为UTF8,则必须设置为0
LPBOOL lpUsedDefaultChar
);
文章摘录翻译自MSDN。
本文详细介绍了WideCharToMultiByte函数的功能及其用法。该函数用于将宽字符串转换为多字节字符集的字符串,特别适用于UTF-8编码。文章解释了各个参数的意义,并强调了在使用UTF-8编码时的注意事项。
1650

被折叠的 条评论
为什么被折叠?



