how to convert uint64_t value in const char string?
// length of 2**64 - 1, +1 for nul.
char buff[21];
// copy to buffer
sprintf(buff, "%" PRIu64, trackuid);
// call function
func(buff);
This requires C99, however, my memory says the MS compiler doesn't have PRIu64
. (PRIu64
is in inttypes.h
.) YMMV.
Use snprintf
to convert numbers to strings. For integer types from stdint.h
header use the format macros from inttypes.h
.
#define __STDC_FORMAT_MACROS // non needed in C, only in C++
#include <inttypes.h>
#include <stdio.h>
void func(const char *uid)
{
printf("uid is %s\n",uid);
}
int main()
{
uint64_t trackuid = 2906622092;
char buf[256];
snprintf(buf, sizeof buf, "%"PRIu64, trackuid);
func(buf);
return 0;
}