Maison >développement back-end >C++ >Pourquoi est-ce que j'obtiens des erreurs « % de fin parasite » lors de l'impression de uint64_t avec printf ?
Dépannage de printf uint64_t : résolution de l'erreur « % de fin erroné »
Lorsque vous essayez d'imprimer un type de données uint64_t à l'aide de la fonction printf, vous pouvez rencontrez une erreur indiquant « % » de fin parasite dans le format. Ce problème peut être attribué aux éléments suivants :
Problème :
La norme C99 exige que certaines macros, telles que PRIu64, soient explicitement demandées pour la définition. Par défaut, ces macros ne sont pas incluses dans la bibliothèque standard.
Solution :
Pour résoudre cette erreur, vous devez ajouter la directive de préprocesseur suivante avant d'inclure le < ;inttypes.h> header :
#define __STDC_FORMAT_MACROS
Cette directive demande au compilateur de définir les macros nécessaires, y compris PRIu64.
Une fois cette modification effectuée, vous pouvez réussir à compiler votre code en utilisant printf("%" PRIu64 "n", ui64); pour imprimer la valeur uint64_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!