Maison > développement back-end > C++ > Pourquoi l'impression d'un « uint64_t » entraîne-t-elle une erreur « % » de fin parasite dans le format » ?

Pourquoi l'impression d'un « uint64_t » entraîne-t-elle une erreur « % » de fin parasite dans le format » ?

Patricia Arquette
Libérer: 2024-11-17 21:21:02
original
920 Les gens l'ont consulté

Why Does Printing a `uint64_t` Result in a

Faux '%' de fin dans l'erreur de format lors de la tentative d'impression de Printf uint64_t

Pour tenter d'imprimer une variable uint64_t à l'aide de printf, vous pouvez rencontrez une erreur telle que « % » de fin de format parasite. Examinons le problème et explorons une solution.

L'extrait de code fourni présente la tentative d'impression d'une variable uint64_t à l'aide de l'espace réservé %" PRIu64 " :

#include <inttypes.h>
#include <stdio.h>

int main()
{
  uint64_t ui64 = 90;
  printf("test uint64_t : %" PRIu64 "\n", ui64);
  return 0;
}
Copier après la connexion

Cependant, la compilation échoue avec le message d'erreur mentionné précédemment. Pour résoudre ce problème, vous devez vous assurer que la macro nécessaire est définie. La norme ISO C99 précise que la macro PRIu64 n'est définie que si elle est explicitement demandée.

Ajoutez donc la ligne suivante à votre code avant d'inclure :

#define __STDC_FORMAT_MACROS
Copier après la connexion

Avec cette ligne ajoutée, la macro PRIu64 sera correctement définie et l'erreur que vous avez rencontrée sera résolue. Cette macro permet l'utilisation de l'espace réservé PRIu64 dans la chaîne de format printf, vous permettant d'imprimer avec succès la variable 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal