Mencari fungsi getch di linux???

Buat yang terbiasa koding dengan windows pasti sudah familiar dengan fungsi getch() yang disediakan oleh librari pada c++. Sayangnya fitur ini tidak ditemukan saat kita koding dengan c++ atau c di lingkungan ubuntu.

Untuk menanggulangi hal tersebut kita dapat membuat fungsi getch sendiri dengan memanfaatkan librari c/c++ pada linux. berikut ini kode mudahnya untuk fungsi getch:

——————————————————————————————

#include <stdio.h>
#include <termios.h>
#include <unistd.h>

int getch( ) {
struct termios oldt,
newt;
int            ch;
tcgetattr( STDIN_FILENO, &oldt );
newt = oldt;
newt.c_lflag &= ~( ICANON | ECHO );
tcsetattr( STDIN_FILENO, TCSANOW, &newt );
ch = getchar();
tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
return ch;
}

—————————————————————————————————-

Kendala selain itu adalah penggunaan ASCII yang tidak bisa dilakukan di linux untuk ASCII yang besar-besar memaksa kita menggunakan unicode. Mencetak unicode di layar dapat dilakukan dengan meng-include “locale.h” pada file header dan sebelum melakukan print unicode, lakukan pemuatan unicode dengan menuliskan setlocale(LC_ALL, “ctype”); untuk semua unicode cukup menggunakan setlocale(LC_ALL, “”);.

Penulisan unicode dengan sintax printf(“%lc”, unicode);. Unicode di sini dalam hexadesimal.

Untuk tabel unicode lengkapnya bisa dilihat di Table Unicode.

Oiya, untuk baca tabelnya cukup

lihat kode tabel sebelah kiri dan atas. Contoh untuk menuliskan huruf  ‘A’ code unicodenya = 0x0041.

Dan seterusnya….

Iklan

2 thoughts on “Mencari fungsi getch di linux???

Tinggalkan Balasan

Please log in using one of these methods to post your comment:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s