gpt4 book ai didi

c++ - WinAPI 中的 sz 和 pwsz 前缀

转载 作者:可可西里 更新时间:2023-11-01 17:54:58 26 4
gpt4 key购买 nike

我现在对 WinAPI 中用于 CHAR 字符串和 WCHAR 字符串的匈牙利符号前缀有点困惑。当我们使用 CHAR 字符串时,通常会使用这样的前缀:

CHAR szString[] = "Hello";

我们有一个以零结尾的字符串 szString,所以一切都很好。但是当我们使用 WCHAR 字符串时,通常会使用这样的前缀:

WCHAR pwszString[] = L"Hello";

它代表指向以零结尾的宽字符串的指针……但是我们的类型看起来不是这样的。指向以零终止的宽字符串的指针是 WCHAR** 或 PWSTR*。我错了吗?为什么 CHAR 字符串是 sz 而 WCHAR 字符串是 pwsz 而不是 wsz?

最佳答案

第二个例子具有误导性(虽然并不少见)。它应该是以下两者之一:

WCHAR wszString[] = L"Hello";
WCHAR *pwszString = L"Hello";

由于数组可以在大多数需要指针的上下文中使用,因此一些程序员对这种区别有点草率。

匈牙利语不合时宜,但可以useful when used well .

关于c++ - WinAPI 中的 sz 和 pwsz 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16017771/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com