Heim > Backend-Entwicklung > C++ > Hauptteil

Warum kann mein Code kein uint64_t mit „unechtem nachgestelltem ‚%' im Format' drucken?

Barbara Streisand
Freigeben: 2024-11-17 12:17:02
Original
603 Leute haben es durchsucht

Why Does My Code Fail to Print a uint64_t with

Herausforderung bei der Formatierung von printf: Umgang mit uint64_t

Beim Versuch, eine uint64_t-Variable zu drucken, wird möglicherweise eine Fehlermeldung ähnlich der folgenden angezeigt: „falsch nachgestelltes „%“ im Format.“ Dieses Problem entsteht durch die Abhängigkeit von den Formatmakros des ISO C99-Standards, die nicht allgemein definiert sind.

Die Lösung liegt darin, die Definition dieser Makros explizit anzufordern. So geht's:

Festlegen der __STDC_FORMAT_MACROS-Definition

Fügen Sie die folgende Zeile am Anfang Ihres Codes hinzu:

#define __STDC_FORMAT_MACROS
Nach dem Login kopieren

Diese Definition weist den Compiler an, die erforderlichen Formatmakros einzuschließen, um sicherzustellen, dass das PRIu64-Makro erkannt wird und verfügbar ist verwenden.

Sobald diese Definition vorhanden ist, wird der folgende Code erfolgreich kompiliert:

#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

Durch die Angabe der __STDC_FORMAT_MACROS-Definition stellen Sie sicher, dass die Variable uint64_t korrekt formatiert und gedruckt und aufgelöst wird das Problem, auf das Sie zuvor gestoßen sind.

Das obige ist der detaillierte Inhalt vonWarum kann mein Code kein uint64_t mit „unechtem nachgestelltem ‚%' im Format' drucken?. 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