Si j'ai une variable entière, je peux utiliser sscanf
comme indiqué ci-dessous en utilisant l'indicateur de format %d.
sscanf (line, "Value of integer: %d\n", &my_integer);
Où puis-je trouver les spécifications de format pour uint8_t
, uint16_t
, uint32_t
y uint64_t
?
uint64_t a probablement %lu.
0 votes
N'est-ce pas ?
%lu
paraunsigned long
? C'est souvent du 32 bits.5 votes
Pas de problème si vous utilisez plutôt des iostreams, qui s'adaptent au type
1 votes
@MSalters : attention, pour les cibles 64 bits, Windows 64
unsigned long
est de 32 bits, alors que tous les systèmes UNIX et Linux sont de 64 bits.unsigned long
sont de 64 bits.3 votes
@Didier Trosset
unsigned long
n'est PAS 64 bits sur toutes les variantes 64 bits d'UNIX. C'est 32 bits sur Solaris 64 bits avec gcc. J'ai eu une fois une expérience douloureuse en apprenant que c'est 64bits sur linux.0 votes
@camelccc D'après ce qui y est expliqué : unix.org/version2/whatsnew/lp64_wp.html Le solaris 64 bits devrait être une exception à UNIX qui est LP64.