Conio.h: Perbedaan antara revisi
Tidak ada ringkasan suntingan |
kTidak ada ringkasan suntingan |
||
Baris 5: | Baris 5: | ||
Terdapat perbedaan implementasi pada fungsi-fungsi conio.h di antara kompilator berbeda-beda. Sesuai dengan implementasi pertama di [[Lattice C]] (bahasa C oleh [[IBM]]), fungsi-fungsi "conio" memanggil dan menggunakan [[Antarmuka Pemrograman Aplikasi MS-DOS|API DOS]], salah satunya fungsi-fungsi "[[DOS]] INT 21h", untuk "output" dan "input". Namun pada pustaka kompilator [[Turbo C]] (oleh [[Borland]]), fungsi-fungsi "conio"-nya tidak menggunakan API DOS, melainkan secara langsung memanipulasi [[Video RAM|RAM video]] untuk "output"-nya dan secara langsung juga membaca panggilan interupsi BIOS (yaitu, pesan dari [[Papan ketik|papan ketik]]) untuk "input"-nya. Pustaka Turbo C ini juga memiliki fungsi tambahan, terinspirasi pada fungsi-fungsi versi [[Turbo Pascal]]. |
Terdapat perbedaan implementasi pada fungsi-fungsi conio.h di antara kompilator berbeda-beda. Sesuai dengan implementasi pertama di [[Lattice C]] (bahasa C oleh [[IBM]]), fungsi-fungsi "conio" memanggil dan menggunakan [[Antarmuka Pemrograman Aplikasi MS-DOS|API DOS]], salah satunya fungsi-fungsi "[[DOS]] INT 21h", untuk "output" dan "input". Namun pada pustaka kompilator [[Turbo C]] (oleh [[Borland]]), fungsi-fungsi "conio"-nya tidak menggunakan API DOS, melainkan secara langsung memanipulasi [[Video RAM|RAM video]] untuk "output"-nya dan secara langsung juga membaca panggilan interupsi BIOS (yaitu, pesan dari [[Papan ketik|papan ketik]]) untuk "input"-nya. Pustaka Turbo C ini juga memiliki fungsi tambahan, terinspirasi pada fungsi-fungsi versi [[Turbo Pascal]]. |
||
Untuk sistem |
Untuk sistem operasi nir-DOS, contohnya [[Linux]] dan [[IBM OS/2|OS/2]], kompilator memberi fungsi yang setara, contohnya: |
||
*pustaka "[[Pustaka curses|curses]]" untuk sistim jenis UNIX |
*pustaka "[[Pustaka curses|curses]]" untuk sistim jenis UNIX |
||
*pustaka "ciolib" dari SyncTERM |
*pustaka "ciolib" dari SyncTERM |
Revisi per 21 November 2015 18.29
conio.h (baca: kon-ai-o-dot-eicj, kon-ai-o) adalah berkas header pada bahasa pemrograman C yang kebanyakan digunakan pada compiler berbasis MS-DOS untuk membuat antarmuka konsol.[1] Berkas header ini tidak dijelaskan secara gamblang pada buku bahasa pemrograman C dan bukan pula bagian dari pustaka standar C, ANSI C, dan juga tidak ditetapkan oleh POSIX.
Header ini mendeklarasikan beberapa fungsi pustaka yang dibutuhkan untuk antarmuka konsol, biasanya tersedia hanya di pustaka kompilator C untuk sistem DOS, Windows 3.x, Phar Lap, IBM OS/2, or Win32[2], dan tidak tersedia di pustaka kompilator C untuk UNIX dan Linux. Beberapa sistem benam menggunakan pustaka ber-"conio".[3]
Terdapat perbedaan implementasi pada fungsi-fungsi conio.h di antara kompilator berbeda-beda. Sesuai dengan implementasi pertama di Lattice C (bahasa C oleh IBM), fungsi-fungsi "conio" memanggil dan menggunakan API DOS, salah satunya fungsi-fungsi "DOS INT 21h", untuk "output" dan "input". Namun pada pustaka kompilator Turbo C (oleh Borland), fungsi-fungsi "conio"-nya tidak menggunakan API DOS, melainkan secara langsung memanipulasi RAM video untuk "output"-nya dan secara langsung juga membaca panggilan interupsi BIOS (yaitu, pesan dari papan ketik) untuk "input"-nya. Pustaka Turbo C ini juga memiliki fungsi tambahan, terinspirasi pada fungsi-fungsi versi Turbo Pascal.
Untuk sistem operasi nir-DOS, contohnya Linux dan OS/2, kompilator memberi fungsi yang setara, contohnya:
- pustaka "curses" untuk sistim jenis UNIX
- pustaka "ciolib" dari SyncTERM
- "conio.h" versi kompilator DJGPP (oleh DJ Delorie). "conio" versi ini dikembang melebihi standar.[4]
Daftar fungsi:
int kbhit(void) | Menentukan, apakah suatu tombol papan ketik ditekan. |
int getch(void) | Menerima karakter langsung, tanpa penulisan ke blok memori (buffer), dan tanpa tampilan karakter ke konsol (echo). |
int getche(void) | Menerima karakter langsung, tanpa penulisan ke blok memori (buffer), dan menampilkan karakter ke konsol (echo). |
int ungetch(int c) | Menuliskan karakter kembali ke blok memori (buffer). |
char*cgets(char*buffer) | Menerima string. |
int cscanf(char*format,...) | Menerima data menurut format. |
int putch(int c) | Menuliskan karakter ke konsol. |
int cputs(char const*string) | Menuliskan string ke konsol. |
int cprintf(char const*format,...) | Memformat data dan menuliskannya ke konsol. |
Rujukan
- ^ Schildt, Herbert (1995). C: The Complete Reference (edisi ke-3rd). Berkeley, Calif.: Osborne McGraw-Hill. hlm. 288. ISBN 0-07-882101-0.
For DOS-compatible compilers, the direct console I/O functions generally use the CONIO.H header file.
- ^ "Console and Port I/O in MSDN".
- ^ "MicroVGA conio Text User Interface Library".
- ^ "DJGPP C Library Reference – conio".
Pranala luar
- Digital Mars's documentation
- IO FAQ - explanation and suggestions for non-standard console IO
- Borland-style CONIO implementation for MinGW/Dev-C++
- List of ways to get raw keyboard input
- conio.h Library overview