Rumah > pembangunan bahagian belakang > C++ > Mengapa Saya Mendapat Ralat Penyusunan Apabila Menggunakan '%u64' dalam Printf?

Mengapa Saya Mendapat Ralat Penyusunan Apabila Menggunakan '%u64' dalam Printf?

Barbara Streisand
Lepaskan: 2024-11-14 18:07:01
asal
676 orang telah melayarinya

Why Am I Getting Compilation Errors When Using

Memahami "%u64" dalam "Printf" dan Menyelesaikan Isu Penyusunan

Apabila cuba mencetak integer tak bertanda 64-bit menggunakan "printf " dengan penentu format "%u64", sesetengah pengguna menghadapi ralat kompilasi. Ralat ini berpunca daripada fakta bahawa penentu format ini tidak ditakrifkan dalam pustaka C standard secara lalai.

Untuk menyelesaikan isu ini, adalah perlu untuk mendayakan penentu format ini secara eksplisit dengan mentakrifkan makro "__STDC_FORMAT_MACROS" sebelum memasukkan pengepala "inttypes.h". Berikut ialah contoh cara untuk melakukan ini:

#define __STDC_FORMAT_MACROS
#include <inttypes.h>

// Rest of your code...

printf("test uint64_t : %" PRIu64 "\n", ui64);
Salin selepas log masuk

Selepas menambah baris ini pada bahagian atas kod anda, pengkompil akan mengenali penentu format "%u64" dan menjana kod yang betul untuk mencetak 64- bit unsigned integer tanpa sebarang ralat. Ini kerana makro "__STDC_FORMAT_MACROS" memastikan bahawa makro format, termasuk "%u64", disertakan dalam pustaka standard C.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Ralat Penyusunan Apabila Menggunakan '%u64' dalam Printf?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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