关于RtlStringCbCopyW及wcscpy_s中cbDest长度的问题?
假设pszSrc是一个2048长度的宽字符
请问以下代码哪个写法是正确的?
1:
WCHAR pszDest[MAX_PATH]={0};
RtlStringCbCopyW(pszDest,MAX_PATH,pszSrc);
或
wcscpy_s(pszDest,MAX_PATH,pszSrc);
2:
WCHAR pszDest[MAX_PATH]={0};
RtlStringCbCopyW(pszDest,MAX_PATH*sizeof(WCHAR),pszSrc);
或
wcscpy_s(pszDest,MAX_PATH*sizeof(WCHAR),pszSrc);
3:
WCHAR* pszDest=NULL;
RtlStringCbCopyW(pszDest,MAX_PATH*sizeof(WCHAR),pszSrc);
或
wcscpy_s(pszDest,MAX_PATH*sizeof(WCHAR),pszSrc);
也就是说cbDest用不用再乘以2
问题比较基础,谢谢解答~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论