According to information in the comments, f.timestamp
is of type uint64_t
.
Unless uint64_t
is the same type as unsigned int
, the behavior of
printf(" timestamp is %u", f.timestamp);
is undefined.
The header <inttypes.h>
defines format macros for a number of integer types, but I find it easier to cast to a known type:
printf(" timestamp is %ju", (uintmax_t)f.timestamp);
or
printf(" timestamp is %llu", (unsigned long long)f.timestamp);