Pagina 1 di 1

[c++] kbhit con ncurses

Inviato: sabato 4 dicembre 2010, 11:13
da aloha
Salve a tutti, tempo fa avevo trovato un semplicissimo modo per attendere la pressione di un tasto qualsiasi senza che fosse seguito da invio

qualcosa di simile a

int i;

      for (i=0; !kbhit(); i++);

in windows con conio.h

ora in linux so che esiste qualcosa di altrettanto semplice semplicemente includendo le ncurses ma mi sfugge la sintassi

Re: [c++] kbhit con ncurses

Inviato: sabato 4 dicembre 2010, 14:52
da sfregiato
Ciao, la sintassi è in C, ma la puoi utilizzare benissimo anche in C++.

Codice: Seleziona tutto

#include <ncurses.h>

int main(int argc, char *argv[]){

	int ch;
	
	initscr(); //inizializza lo schermo
		
	printw("Premere un tasto: "); //stampa un testo formattato: simile alla printf

	ch = getch(); //attende in input un carattere
	
	printw("\nPremuto: %c\n\n", ch); //visualizza l'inut
	printw("Premere un tasto per uscire.");
	
	getch(); //attende un altro tasto
	
	endwin(); //sospende la sessione ncurses
	return 0;
}
Nella compilazione devi passare -lncurses
Volendo c'è anche un'altra soluzione:

http://forum.ubuntu-it.org/viewtopic.ph ... 4#p3334764

Re: [c++] kbhit con ncurses

Inviato: sabato 4 dicembre 2010, 16:24
da aloha
Ottimo grazie.

Comunque sono certo che quello che utlizzavo tempo addietro era un altro, credo con ancora meno righe di codice

???