Win32API 中的“ A”和“ W”函数有什么不同?

调用在结尾附加 A字符的 Win32API 函数与调用 W字符的调用有什么区别。

我知道它的意思是 ASCIIWIDE CHARACTER或 Unicode,但是输出和输入有什么区别呢?

例如,如果我调用 GetDefaultCommConfigA,它会用 ASCII 字符串而不是 WCHAR 字符串填充 COMMCONFIG 结构吗?(对于 GetDefaultCommConfigW,反之亦然)

换句话说,我怎么知道字符串的编码是什么,ASCII 还是 UnicODE,它的 必须的是由我调用的函数 AW的版本?对吗?

我找到了这个 有个问题,但我不认为它回答了我的问题。

20251 次浏览

A函数使用 Ansi (而不是 ASCII)字符串作为输入和输出,而 W函数则使用 Unicode 字符串(NT4和更早版本中的 UCS-2,W2K 和更晚版本中的 UTF-16)。详情请参阅 请参考 MSDN