J'utilise une bibliothèque qui renvoie une structure avec un horodatage qui est représenté par deux (TimestampHi, TimestampLo) unsigned long
s. J'ai à peu près besoin seulement de l'horodatage imprimé comme %llu
dans printf.Comment utiliser deux entiers 32 bits en tant que 64 bits dans C?
Quel est le moyen le plus simple d'obtenir les données de ces deux entrées et de les utiliser correctement comme uint64_t?
Vous devriez probablement étiqueter ceci avec votre OS/plate-forme. Bien que vous supposiez que cela soit le cas dans votre situation, toutes les plates-formes 64 bits n'utilisent pas une longueur de 32 bits, d'autres utilisent 64 bits. –
% llu n'est pas le bon format pour uint64_t. Convertissez la valeur en unsigned long long et utilisez% llu, utilisez la macro PRIu64 de ou transtypez en uintmax_t et utilisez% ju. –
jilles