wchar_t是未签名或签名的

2vi*_*on2 6 c unicode winapi wchar-t

在这个环节 unsigned wchar_ttypedef编为WCHAR.但我无法在我的SDK winnt.h或mingw中找到这种typedef winnt.h.

wchar_t 是签名还是未签名?

我在C语言中使用WINAPI.

Ker*_* SB 11

签名wchar_t是未指定的.标准只说(3.9.1/5):

类型wchar_t应具有与其他整数类型相同的大小,符号和对齐要求(3.11),称为其基础类型.

(相比之下,类型char16_tchar32_t明确未签名.)

  • 是的我知道标准说的是什么,我知道它是如何工作的.问题是标记为"winapi",所以我认为这些额外的信息仍然有用. (5认同)
  • [Windows API](http://msdn.microsoft.com/en-us/library/windows/desktop/aa367308(v = vs.85).aspx)似乎将其定义为无符号. (2认同)
  • @netcoder:“未指定”并不意味着不允许任何人定义它。这只是意味着该标准不强制要求任何一种符号。 (2认同)
  • @netcoder 是的,它很有用。谢谢。看看我帖子中的链接。 (2认同)
  • @user1317084:您的问题是关于 C 的,还是关于 WinAPI 如何实现 C 的某些实现定义方面的问题?如果您能澄清这一点就好了。 (2认同)