Heim > Backend-Entwicklung > C++ > Warum führt das Drucken eines „uint64_t' zu einem „Spurious Trailing ‚%' in Format'-Fehler?

Warum führt das Drucken eines „uint64_t' zu einem „Spurious Trailing ‚%' in Format'-Fehler?

Patricia Arquette
Freigeben: 2024-11-17 21:21:02
Original
920 Leute haben es durchsucht

Why Does Printing a `uint64_t` Result in a

Unechter nachgestellter „%“ im Formatfehler beim Versuch, uint64_t zu drucken

Beim Versuch, eine uint64_t-Variable mit printf zu drucken, kann es sein, dass Sie Es tritt ein Fehler wie „falsches nachgestelltes ‚%‘ im Format“ auf. Lassen Sie uns das Problem genauer untersuchen und eine Lösung finden.

Das bereitgestellte Code-Snippet zeigt den Versuch, eine uint64_t-Variable mit dem Platzhalter %" PRIu64 " zu drucken:

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

int main()
{
  uint64_t ui64 = 90;
  printf("test uint64_t : %" PRIu64 "\n", ui64);
  return 0;
}
Nach dem Login kopieren

Die Kompilierung schlägt jedoch fehl mit der oben erwähnten Fehlermeldung. Um dieses Problem zu beheben, müssen Sie sicherstellen, dass das erforderliche Makro definiert ist. Der ISO C99-Standard legt fest, dass das PRIu64-Makro nur auf ausdrückliche Anfrage definiert wird.

Fügen Sie daher die folgende Zeile zu Ihrem Code hinzu, bevor Sie einbinden:

#define __STDC_FORMAT_MACROS
Nach dem Login kopieren

With Wenn Sie diese Zeile hinzufügen, wird das PRIu64-Makro ordnungsgemäß definiert und der aufgetretene Fehler wird behoben. Dieses Makro ermöglicht die Verwendung des PRIu64-Platzhalters in der printf-Formatzeichenfolge, sodass Sie die Variable uint64_t erfolgreich drucken können.

Das obige ist der detaillierte Inhalt vonWarum führt das Drucken eines „uint64_t' zu einem „Spurious Trailing ‚%' in Format'-Fehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage