_cprintf
, _cprintf_l
, _cwprintf
, _cwprintf_l
Format dan cetak ke konsol. Versi yang lebih aman tersedia; lihat _cprintf_s
, _cprintf_s_l
, _cwprintf_s
, . _cwprintf_s_l
Penting
API ini tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.
Sintaks
int _cprintf(
const char * format [, argument_list]
);
int _cprintf_l(
const char * format,
_locale_t locale [, argument_list]
);
int _cwprintf(
const wchar * format [, argument_list]
);
int _cwprintf_l(
const wchar * format,
_locale_t locale [, argument_list]
);
Parameter
format
String kontrol format.
argument_list
Parameter opsional untuk string format.
locale
Lokal yang akan digunakan.
Nilai hasil
Jumlah karakter yang dicetak.
Keterangan
Fungsi-fungsi ini memformat dan mencetak serangkaian karakter dan nilai langsung ke konsol, menggunakan _putch
fungsi (_putwch
untuk _cwprintf
) untuk menghasilkan karakter. Setiap argumen dalam (jika ada) dikonversi argument_list
dan output sesuai dengan spesifikasi format yang sesuai di format
. Argumen format
menggunakan sintaks spesifikasi format untuk fungsi printf dan wprintf. fprintf
Tidak seperti fungsi , printf
, dan sprintf
, _cprintf
dan _cwprintf
tidak menerjemahkan karakter umpan baris ke dalam kombinasi umpan baris kembali pengangkutan (CR-LF) saat output.
Perbedaan penting adalah menampilkan _cwprintf
karakter Unicode saat digunakan di Windows. Tidak seperti _cprintf
, _cwprintf
menggunakan pengaturan lokal konsol saat ini.
Versi fungsi-fungsi ini dengan _l
akhiran identik kecuali mereka menggunakan parameter lokal yang diteruskan alih-alih lokal saat ini.
_cprintf
memvalidasi format
parameter. Jika format
adalah penunjuk null, fungsi memanggil handler parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi mengembalikan -1 dan diatur errno
ke EINVAL
.
Penting
Pastikan itu format
bukan string yang ditentukan pengguna.
Mulai Windows 10 versi 2004 (build 19041), printf
keluarga fungsi mencetak angka titik mengambang yang persis dapat diwakili sesuai dengan aturan IEEE 754 untuk pembulatan. Di versi Windows sebelumnya, angka titik pecahan yang persis dapat diwakili yang berakhiran '5' akan selalu dibulatkan. IEEE 754 menyatakan bahwa mereka harus membulatkan ke digit terdekat bahkan (juga dikenal sebagai "Pembulatan Bankir"). Misalnya, dan printf("%1.0f", 1.5)
printf("%1.0f", 2.5)
harus membulatkan ke 2. Sebelumnya, 1,5 akan membulatkan ke 2 dan 2,5 akan dibulatkan ke 3. Perubahan ini hanya memengaruhi angka yang tepat yang dapat diwakili. Misalnya, 2,35 (yang, ketika diwakili dalam memori, lebih dekat ke 2,3500000000000000008) terus membulatkan ke atas hingga 2,4. Pembulatan yang dilakukan oleh fungsi-fungsi ini sekarang juga menghormati mode pembulatan titik mengambang yang ditetapkan oleh fesetround
. Sebelumnya, pembulatan selalu memilih FE_TONEAREST
perilaku. Perubahan ini hanya memengaruhi program yang dibuat menggunakan Visual Studio 2019 versi 16.2 dan yang lebih baru. Untuk menggunakan perilaku pembulatan titik mengambang warisan, tautkan dengan legacy_stdio_float_rounding.obj
.
Pemetaan rutin teks generik
Rutinitas Tchar.h | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tcprintf |
_cprintf |
_cprintf |
_cwprintf |
_tcprintf_l |
_cprintf_l |
_cprintf_l |
_cwprintf_l |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_cprintf , _cprintf_l |
<conio.h> |
_cwprintf , _cwprintf_l |
<conio.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Contoh
// crt_cprintf.c
// compile with: /c
// This program displays some variables to the console.
#include <conio.h>
int main( void )
{
int i = -16,
h = 29;
unsigned u = 62511;
char c = 'A';
char s[] = "Test";
// Note that console output does not translate \n as
// standard output does. Use \r\n instead.
//
_cprintf( "%d %.4x %u %c %s\r\n", i, h, u, c, s );
}
-16 001d 62511 A Test
Baca juga
I/O konsol dan port
_cscanf
, _cscanf_l
, _cwscanf
, _cwscanf_l
fprintf
, _fprintf_l
, fwprintf
, _fwprintf_l
printf
, _printf_l
, wprintf
, _wprintf_l
sprintf
, _sprintf_l
, swprintf
, _swprintf_l
, __swprintf_l
vfprintf
, _vfprintf_l
, vfwprintf
, _vfwprintf_l
_cprintf_s
, _cprintf_s_l
, _cwprintf_s
, _cwprintf_s_l
_cprintf_p
, _cprintf_p_l
, _cwprintf_p
, _cwprintf_p_l
Sintaks spesifikasi format: printf
dan wprintf
fungsi
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk