int64_t and printf
ben at links.org
Sun Jun 5 20:40:34 UTC 2011
On 05/06/2011 19:31, Sean C. Farley wrote:
> On Sun, 5 Jun 2011, Ben Laurie wrote:
>> So, for example int64_t has no printf modifier I am aware of. Likewise
>> its many friends.
>> In the past I've handled this by having a define somewhere along the
>> lines of...
>> #if <something>
>> # define INT_64_T_FMT "%ld"
>> # define INT_64_T_FMT "%lld"
>> but I have no idea where to put such a thing in FreeBSD. Opinions?
>> Also, I guess I'd really need to do a modifier rather than a format,
>> for full generality.
> You need to include inttypes.h, which includes machine/_inttypes.h. This
> will provide the appropriate macro which in this case is PRId64.
I somewhat love this plan. Apparently it doesn't work:
error: expected ')'
(void) snprintf(c, sizeof (c), "0x%" PRIx64, addr);
"There is no limit to what a man can do or how far he can go if he
doesn't mind who gets the credit." - Robert Woodruff
More information about the freebsd-hackers