Rumah >pembangunan bahagian belakang >C++ >Mengapa Saya Mendapat Ralat 'Spurious Trailing %' Semasa Mencetak uint64_t dengan printf?

Mengapa Saya Mendapat Ralat 'Spurious Trailing %' Semasa Mencetak uint64_t dengan printf?

DDD
DDDasal
2024-11-29 02:39:12222semak imbas

Why Am I Getting

Menyelesaikan masalah printf uint64_t: Menyelesaikan Ralat "Spurious Trailing %"

Apabila cuba mencetak jenis data uint64_t menggunakan fungsi printf, anda boleh menghadapi ralat yang menunjukkan "pengekor palsu '%" dalam format. Isu ini boleh dikaitkan dengan perkara berikut:

Masalah:

Standard C99 menghendaki makro tertentu, seperti PRIu64, diminta secara jelas untuk definisi. Secara lalai, makro ini tidak disertakan dalam pustaka standard.

Penyelesaian:

Untuk menyelesaikan ralat ini, anda perlu menambah arahan prapemproses berikut sebelum memasukkan < ;inttypes.h> pengepala:

#define __STDC_FORMAT_MACROS

Arahan ini mengarahkan pengkompil untuk menentukan makro yang diperlukan, termasuk PRIu64.

Setelah perubahan ini dibuat, anda boleh berjaya menyusun kod anda menggunakan printf("%" PRIu64 "n", ui64); untuk mencetak nilai uint64_t.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat 'Spurious Trailing %' Semasa Mencetak uint64_t dengan printf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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