Senin, 07 November 2016

Mengapa di Linux Tidak Ada Header conio.h ?

console conio

Biasanya untuk keperluan apa kamu membutuhkan header conio.h ?
Jika hanya untuk getch() sehingga program tidak keluar sebelum user menekan key; maka sepertinya ini tidak perlu dilakukan, karena semua program console di linux harus dieksekusi melalui terminal.

Header conio.h tidak ada di linux, bukan karena mengapa. Harus diketahui bahwa conio.h bukanlah header standar untuk bahasa C. Header ini ada di Windows, semenjak keberadaan Turbo C di zaman DOS. Jadi file ini memang hanya berperan sebagai helper khusus programmer yang ada di lingkugan Windows.

Jika memaksa dan benar-benar butuh, dunia linux menyediakan fungsi yang hampir ekuivalen dengan conio.h. Benarkah? Ya, untuk menggunakan beberapa fungsi dasar layaknya fungsi yang disediakan conio.h, gunakan ncurses.h. Tapi tunggu dulu, header ini juga bukan standar C, lho. Dan, untuk menggunakannya kita harus memiliki libncurses dan ncurses.h yang diinstall manual. Untungnya, sebagian besar distro sudah built-in dengan library ini, jadi anda tinggal install header nya.

Di Ubuntu, install header ncurses dengan
sudo apt-get install ncurses-dev

Ada sedikit poin yang harus diperhatikan untuk menggunakan fungsi libncurses. Salah satunya adalah selalu melakukan inisialisasi sebelum memakai fungsi-fungsi ncurses, dan melakukan deinisialisasi sesudahnya. Misal..
int main(void) {

  initscr();
  timeout(-1); 
  int c = getch();
  endwin(); 
  printf ("%d %c\n", c, c);
  return 0; 

}

FYI, kunjungi dokumentasi ncurses untuk melihat tata cara penggunaanya beserta melihat daftar fungsi yang didukung. http://tldp.org/HOWTO/NCURSES-Programming-HOWTO/

FYI, berikut referensi list standard library untuk C dan C++.
http://en.cppreference.com/w/c/header
http://en.cppreference.com/w/cpp/header
Load disqus comments

0 comments