————作才个人见解,仅作参考————
每次碰到char, wchar, CString, BSTR, std::string等等一系列字符时,只关系到字符匹配问题,我都要重新查资料,头疼。所以在此记录碰到的关于字符,字符转换的经验。
一、多字节与宽字节
c/c++中有两种字符类型,char和wchar_t。
1. 多字节转向宽字节
C运行库提供mbstowcs函数实现转换,函数原型是:
size_t mstowcs(wchar_t* Dest, const char* Source, size_t Max_count)
此函数是不安全的,如果Dest缓冲区的大小不足以存储Source,则会溢出(依赖于Max_count的大小)。
另有安全版本mbstowcs_s
参考:
1. 《Windows核心编程》