sprintf para _int64 sin firmar
Tengo el siguiente código. La salida del segundo% d en sprintf siempre se muestra como cero. Creo que estoy especificando especificadores incorrectos. ¿Alguien puede ayudarme a obtener una cadena de escritura con los valores correctos? Y esto tiene que lograrse en posix estándar. Gracias por las entradas
void main() {
unsigned _int64 dbFileSize = 99;
unsigned _int64 fileSize = 100;
char buf[128];
memset(buf, 0x00, 128);
sprintf(buf, "\nOD DB File Size = %d bytes \t XML file size = %d bytes", fileSize, dbFileSize);
printf("The string is %s ", buf);
}
Salida
The string is
OD DB File Size = 100 bytes XML file size = 0 bytes