LPWORD w字符;
是一个指向单词的长指针。这里的单词是两个字节的整数,而不是句子中的“单词”。它基本上是一个int16。printf 将处理它。
printf("%hd", *wCharacter );
- 其中 h 指定 16 位值
- d 指定一个整数
- *wCharacter 是您的 int 的取消引用指针或值。
如果您希望您的打印值将其反映为无符号
printf("%hu", *wCharacter );
无符号十六进制
printf("%hx", *wCharacter );
带大写字母的无符号十六进制
printf("%hX", *wCharacter );
现在说了这么多,您的 WORD int 可能是一个 Unicode 字符或两个字节字符,与普通的 8 位标准字符相对。
在 unicode 中,如果您仍然将标准 ascii 字符表示为与某些阿拉伯语或中文字符相对,则可以通过忽略第一个字节将 unicode 字符转换为标准字符。
LPWORD wCharacter;
char *pChar = (char*)wCharacter;
printf("%c", pChar[1]);
- 将 pChar 声明为一个指向 8 位值 (char) 的指针。
- 将 pChar 地址设置为您的 WORD 指针。
- 将 pChar 指针用作数组并将其递增到第二个字节 [1];
如果您不使用国际字符集,则此方法有效。