What's the correct way to use printf to print a size_t?

c, c++, printf, size-t

Solution

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

Problem

`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`?

Original source

Related problems