这是对 this 的后续问题.
是否 DWORD
与某些平台上的 int
相同(如何检查?)?如果是这样的话,那么这个:
DWORD v1, v2, v3, Build;
GetVersion(&v1, &v2, &v3, &Build);
sprintf(VersionStr, "%d.%d.%d.%d", v1, v2, v3, Build);
在该平台上不是未定义的行为,对吗??
或者上面的代码总是无处不在?
如何检查DWORD
是否与该平台上的int
相同?
(因为也许我在想在上面运行这段代码的那台计算机上不是未定义的行为)
最佳答案
在 32 位编译器上,可用于打印 DWORD 值的格式说明符是 %lu
。如果要以十进制格式打印值,也可以使用 %ld
。
您还可以引用一个主题:Why in C++ do we use DWORD rather than unsigned int?
关于c++ - DWORD 格式说明符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33671758/