DWORD格式说明符

时间:2015-11-12 12:47:15

标签: c++

这是this的后续问题。

在某些平台上,DWORDint 相同是否可以(如何检查?)?如果是这样,那么:

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

在该平台上没有未定义的行为,我是对的吗?

或者以上代码总是和UB一起?

如何检查DWORD是否与该平台上的int相同?

(因为我想在上面运行此代码的计算机上并不是未定义的行为)

1 个答案:

答案 0 :(得分:3)

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

您还可以引用一个主题:Why in C++ do we use DWORD rather than unsigned int?