Mengapa Kod Saya Gagal Mencetak uint64_t dengan format '%' jejak palsu'?

Barbara Streisand
Lepaskan: 2024-11-17 12:17:02
asal
603 orang telah melayarinya

Why Does My Code Fail to Print a uint64_t with

printf Cabaran Pemformatan: Mengendalikan uint64_t

Dalam percubaan untuk mencetak pembolehubah uint64_t, anda mungkin menghadapi mesej ralat yang serupa dengan: "palsu mengekori '%' dalam format." Isu ini timbul disebabkan oleh pergantungan pada makro format standard ISO C99, yang tidak ditakrifkan secara universal.

Penyelesaian terletak pada permintaan secara eksplisit takrifan makro ini. Begini cara untuk melakukannya:

Menetapkan __STDC_FORMAT_MACROS Define

Tambah baris berikut pada bahagian atas kod anda:

#define __STDC_FORMAT_MACROS
Salin selepas log masuk

Ini takrif mengarahkan pengkompil untuk memasukkan makro format yang diperlukan, memastikan makro PRIu64 diiktiraf dan tersedia untuk digunakan.

Setelah takrifan ini disediakan, kod berikut akan berjaya disusun:

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

int main()
{
  uint64_t ui64 = 90;
  printf("test uint64_t : %" PRIu64 "\n", ui64);
  return 0;
}
Salin selepas log masuk

Dengan menyatakan takrifan __STDC_FORMAT_MACROS, anda memastikan pembolehubah uint64_t diformat dan dicetak dengan betul , menyelesaikan masalah yang anda hadapi sebelum ini.

Atas ialah kandungan terperinci Mengapa Kod Saya Gagal Mencetak uint64_t dengan format '%' jejak palsu'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan