DWORD格式说明符

DWORD format specifier

本文关键字:说明符 格式 DWORD      更新时间:2023-10-16

这是一个后续问题。

在某些平台上,DWORD是否与int相同(如何检查?)?如果是这样的话,那么这个:

  DWORD v1, v2, v3, Build;
  GetVersion(&v1, &v2, &v3, &Build);
  sprintf(VersionStr, "%d.%d.%d.%d", v1, v2, v3, Build);

在那个平台上不是没有定义的行为,对吗??

或者上面的代码是"永远"answers"无处不在"UB?

如何检查该平台上的DWORDint是否相同?

(因为我可能认为在上面运行此代码的计算机上没有未定义的行为)

在32位编译器上,可以用来打印DWORD值的格式说明符是%lu。如果要以十进制格式打印值,也可以使用%ld

您也可以引用一个线程:为什么在C++中我们使用DWORD而不是无符号int?