关于RtlStringCbCopyW及wcscpy_s中cbDest长度的问题?

发布于 2022-09-12 00:58:41 字数 574 浏览 17 评论 0

假设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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文