I tried using all these flags ld
li
and lu
with sscanf
but none worked. The following gets 4294967295
no matter what number i put in buf
:
long unsigned data;
char buf[40] = "data 2349872764943587";
if (sscanf (buf, "data %lu", &data) == 1)
{
printf ("%s\n", buf);
printf ("data:\t%lu\n", data);
}
Output:
data 2349872764943587
data: 4294967295
Am I using the wrong conversion flag or is there something I missed?