brew, WSTRTOUTF8 的问题

qingqing2300 2010-01-16 01:01:32
我在编写时用

WSTRTOUTF8(pWString, WSTRLEN(pWString) + 1, pUTF8String, /*nSize目标的大小(字节)*/);



请问nSize应该是多大才合适。
我想用MALLOC生成一个大小合适的byte * pUTF8String.

谢谢啊!
...全文
1751 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxcnfly 2010-01-17
  • 打赏
  • 举报
回复
不会内存泄漏的,只要你free了就可以,只是说使用时有点浪费这个也没有办法的,除非你一开始做个编码类型检查。
FLYUP_CHEN 2010-01-16
  • 打赏
  • 举报
回复
nSize = WSTRLEN(pWString) * sizeof(AECHAR)
qingqing2300 2010-01-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 chenmeimei_8899 的回复:]
nSize = WSTRLEN(pWString) * sizeof(AECHAR)
[/Quote]
[Quote=引用 2 楼 sxcnfly 的回复:]
nSize = WSTRLEN(pWString) * (sizeof(AECHAR)+1),utf8最大可以达到3个字节
[/Quote]
这样做可以。不过这样生成的空间要大于实际的空间。比如一个英文字符才1个字节。而
nSize = WSTRLEN(pWString) * sizeof(AECHAR)就是
nSize = WSTRLEN(pWString) * 2
要多于实际utf8代码的空间。如果一个AECHAR字符串都是英文的话那么生成的空间就多出一倍了!
这样在FREE时可能会造成内存泄露吧。
sxcnfly 2010-01-16
  • 打赏
  • 举报
回复
nSize = WSTRLEN(pWString) * (sizeof(AECHAR)+1),utf8最大可以达到3个字节

2,851

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧