I basically gave up on using %zu because of the endless problems VC had with it. Instead, just cast the size_t to unsigned long long and use the format %llu.