2012-09-03 19 views
7

私はこの簡単なプログラムをWindowsで書いています。 Windowsにはconioがあるので、うまくいきました。このプログラムをconioからcursesに移植するにはどうすればよいですか?

#include <stdio.h> 
#include <conio.h> 

int main() 
{ 
    char input; 

    for(;;) 
    { 
     if(kbhit()) 
     { 
      input = getch(); 
      printf("%c", input); 
     } 
    } 
}  

は、今私は、Linuxへの移植をしたい、と呪い/ ncursesのは、それを行うための正しい方法のように思えます。どのように私はconioの代わりにそれらのライブラリを使用して同じを達成するだろうか?

答えて

9
#include <stdio.h> 
#include <ncurses.h> 

int main(int argc, char *argv) 
{ 
    char input; 

    initscr(); // entering ncurses mode 
    raw();  // CTRL-C and others do not generate signals 
    noecho(); // pressed symbols wont be printed to screen 
    cbreak(); // disable line buffering 
    while (1) { 
     erase(); 
     mvprintw(1,0, "Enter symbol, please"); 
     input = getch(); 
     mvprintw(2,0, "You have entered %c", input); 
     getch(); // press any key to continue 
    } 
    endwin(); // leaving ncurses mode  
    return 0; 
} 

hereあなたはLinux用kbhit()の実装を見ることができます。

+0

ありがとう、それは私が必要としたものです。 –

+0

いつでもようこそ。 –

0

ncursesをインストールし、ちょうど<ncurses.h>を含めてください。

ncursesをインストールするthisはhelp-fulです。

gcc -g -o sample sample.c -L lncurses 

とをgccのためにncursesのlibに(-L lncurses)フラグとリンクすることを忘れないでください、あなたのプログラムを構築する際

+0

kbhit()が存在しないようですか、何か間違っていますか? –

+0

kbhit()はncursesに実装されています。 – Jeyaram

関連する問題