unicode下CString 转 char* 疑问

Rain208 Rain208 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
环境:unicode
CString转char代码:



CString str(L"0123456789");
int len;
len = WideCharToMultiByte(CP_UTF8, 0, str.GetBuffer(str.GetLength()), -1, NULL, 0, NULL, NULL);
char *szUtf8=new char[len + 1];
memset(szUtf8, 0, len * 2 + 2);
WideCharToMultiByte (CP_UTF8, 0, str.GetBuffer(str.GetLength()), -1, szUtf8, len, NULL,NULL);
return szUtf8;

输出后,怎么源串中的第一位0 编程0x00了,而不是0x30呢?




这个是怎么回事,转了后丢了一位吗?
...全文

相关推荐

评论 6
收藏 已收藏
分享
返回顶部
Rain208
VC/MFC 16,550 成员 421,606 内容