With the larger 64-bit data types, printf "%" codes needed to be upgraded to include them. Full documentation is available on MSDN but here is a brief overview:
| Code | Description |
| %d | int, 32-bit integers, on all platforms |
| %ld | long int, 32-bit integers, on all (Windows) platforms |
| %I32d | \__int32, 32-bit integers, on all platforms (rarely used) |
| %I64d | \__int64, 64-bit integers, on all platforms |
| %Id | intptr_t, 32- or 64-bit integer, depending on the platform |
| %Iu | size_t, 32- and 64-bit unsigned integer |
Developers often use %x or %08x to print pointers but this is not portable. A better way is to use %p.