wcstombs这个函数对下面的代码不起作用额。。
int gsmDecodeUcs2(const unsigned char* pSrc, char* pDst, int nSrcLength)
{
int nDstLength,i; // UNICODE宽字符数目
//WCHAR wchar[128]; // UNICODE串缓冲区
wchar_t wchar[128];
//unsigned short wchar[128];
// 高低字节对调,拼成UNICODE
///setlocale(LC_ALL,"zh_CN.UTF-8");
for(i=0; i<nSrcLength/2; i++)
{
// 先高位字节
wchar[i] = *pSrc++ << 8;
// 后低位字节
wchar[i] |= *pSrc++;
}
memset(pDst, 0, 160);
// UNICODE串-->字符串
//nDstLength = ::WideCharToMultiByte(CP_ACP, 0, wchar, nSrcLength/2, pDst, 160, NULL, NULL);
nDstLength=wcstombs(pDst,wchar,160);
//nDstLength = wctomb(pDst, wchar);
// 输出字符串加个结束符
pDst[nDstLength] = '\0';
// 返回目标字符串长度
return nDstLength;
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
![扫码二维码加入Web技术交流群](/public/img/jiaqun_03.jpg)
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论