Fungsi WriteConsole
Menulis string karakter ke buffer layar konsol yang dimulai di lokasi kursor saat ini.
BOOL WINAPI WriteConsole(
_In_ HANDLE hConsoleOutput,
_In_ const VOID *lpBuffer,
_In_ DWORD nNumberOfCharsToWrite,
_Out_opt_ LPDWORD lpNumberOfCharsWritten,
_Reserved_ LPVOID lpReserved
);
hConsoleOutput [in]
Handel ke buffer layar konsol. Handel harus memiliki akses GENERIC_WRITE yang tepat. Untuk informasi selengkapnya, lihat Keamanan dan Hak Akses Buffer Konsol.
lpBuffer [in]
Penunjuk ke buffer yang berisi karakter yang akan ditulis ke buffer layar konsol. Ini diharapkan menjadi array baik char
untuk WriteConsoleA
atau wchar_t
untuk WriteConsoleW
.
nNumberOfCharsToWrite [in]
Jumlah karakter yang akan ditulis. Jika ukuran total dari jumlah karakter yang ditentukan melebihi tumpukan yang tersedia, fungsi gagal dengan ERROR_NOT_ENOUGH_MEMORY.
lpNumberOfCharsWritten [out, opsional]
Pointer ke variabel yang menerima jumlah karakter yang benar-benar ditulis.
lpReserved Reserved; harus NULL.
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Fungsi WriteConsole menulis karakter ke buffer layar konsol pada posisi kursor saat ini. Posisi kursor maju saat karakter ditulis. Fungsi SetConsoleCursorPosition mengatur posisi kursor saat ini.
Karakter ditulis menggunakan atribut warna latar depan dan latar belakang yang terkait dengan buffer layar konsol. Fungsi SetConsoleTextAttribute mengubah warna ini. Untuk menentukan atribut warna saat ini dan posisi kursor saat ini, gunakan GetConsoleScreenBufferInfo.
Semua mode input yang memengaruhi perilaku fungsi WriteFile memiliki efek yang sama pada WriteConsole. Untuk mengambil dan mengatur mode output buffer layar konsol, gunakan fungsi GetConsoleMode dan SetConsoleMode.
Fungsi ini menggunakan karakter Unicode atau karakter 8-bit dari halaman kode konsol saat ini. Halaman kode konsol default awalnya ke halaman kode OEM sistem. Untuk mengubah halaman kode konsol, gunakan fungsi SetConsoleCP atau SetConsoleOutputCP. Konsumen warisan juga dapat menggunakan perintah chcp atau mode con cp select= , tetapi tidak disarankan untuk pengembangan baru.
WriteConsole gagal jika digunakan dengan handel standar yang dialihkan ke file. Jika aplikasi memproses output multibahasa yang dapat dialihkan, tentukan apakah handel output adalah handel konsol (salah satu metodenya adalah memanggil fungsi GetConsoleMode dan memeriksa apakah berhasil). Jika handel adalah handel konsol, panggil WriteConsole. Jika handel bukan handel konsol, output dialihkan dan Anda harus memanggil WriteFile untuk melakukan I/O. Pastikan untuk mengawali file teks biasa Unicode dengan tanda urutan byte. Untuk informasi selengkapnya, lihat Menggunakan Tanda Urutan Byte.
Meskipun aplikasi dapat menggunakan WriteConsole dalam mode ANSI untuk menulis karakter ANSI, konsol tidak mendukung urutan "ANSI escape" atau "terminal virtual" kecuali diaktifkan. Lihat Urutan Terminal Virtual Konsol untuk informasi selengkapnya dan untuk penerapan versi sistem operasi.
Ketika urutan escape terminal virtual tidak diaktifkan, fungsi konsol dapat menyediakan fungsionalitas yang setara. Untuk informasi selengkapnya, lihat SetCursorPos, SetConsoleTextAttribute, dan GetConsoleCursorInfo.
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Header | ConsoleApi.h (melalui WinCon.h, sertakan Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Nama Unicode dan ANSI | WriteConsoleW (Unicode) dan WriteConsoleA (ANSI) |