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
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; }
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!