Maison >développement back-end >C++ >Pourquoi mon code ne parvient-il pas à imprimer un uint64_t avec un « % » final parasite au format » ?
Défi de formatage printf : gestion de uint64_t
Lors d'une tentative d'impression d'une variable uint64_t, vous pouvez rencontrer un message d'erreur similaire à : "fausse à la fin du '%' au format." Ce problème se pose en raison du recours aux macros de format de la norme ISO C99, qui ne sont pas universellement définies.
La résolution réside dans la demande explicite de définition de ces macros. Voici comment procéder :
Définition de la définition __STDC_FORMAT_MACROS
Ajoutez la ligne suivante en haut de votre code :
#define __STDC_FORMAT_MACROS
Cette définition demande au compilateur d'inclure les macros de format nécessaires, garantissant que la macro PRIu64 est reconnue et disponible pour use.
Une fois cette définition en place, le code suivant sera compilé avec succès :
#include <inttypes.h> #include <stdio.h> int main() { uint64_t ui64 = 90; printf("test uint64_t : %" PRIu64 "\n", ui64); return 0; }
En spécifiant la définition __STDC_FORMAT_MACROS, vous vous assurez que la variable uint64_t est correctement formatée et imprimée, résolvant le problème que vous avez rencontré plus tôt.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!