Baca dalam bahasa Inggris

Bagikan melalui


Fungsi WriteConsole

Menulis string karakter ke buffer layar konsol yang dimulai di lokasi kursor saat ini.

Sintaks

BOOL WINAPI WriteConsole(
  _In_             HANDLE  hConsoleOutput,
  _In_       const VOID    *lpBuffer,
  _In_             DWORD   nNumberOfCharsToWrite,
  _Out_opt_        LPDWORD lpNumberOfCharsWritten,
  _Reserved_       LPVOID  lpReserved
);

Parameter

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.

Nilai hasil

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Keterangan

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.

Persyaratan

   
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)

Baca juga

Fungsi Konsol

GetConsoleCursorInfo

GetConsoleMode

GetConsoleScreenBufferInfo

Metode Input dan Output

ReadConsole

SetConsoleCP

SetConsoleCursorPosition

SetConsoleMode

SetConsoleOutputCP

SetConsoleTextAttribute

SetCursorPos

WriteFile