C printf – Correct Way to Use printf to Print a size_t

c++printfsize-t

size_t is defined as an unsigned integer, but the size of it depends on whether you're on a 32- or 64-bit machine. What's a correct and portable way to print out a size_t?

Best Answer

Try using the %zu format string

size_t val = get_the_value();
printf("%zu",val);

The z portion is a length specifier which says the argument will be size_t in length.

Source - http://en.wikipedia.org/wiki/Printf#printf_format_placeholders