cioè.... la conio.h nn è una libreria standard a quanto ne so.. nn c'è una funzione che faccia lastessa cosa magari all' interno di librerie standard del C???
grazie.
cioè.... la conio.h nn è una libreria standard a quanto ne so.. nn c'è una funzione che faccia lastessa cosa magari all' interno di librerie standard del C???
grazie.
stdio.h
PyGTK GUI programming
un impegno concreto: eliminare la k dalle tastiere italiane
non so se in stdio.h c'è un metodo che prende in input un carattere senza attendere invio per conferma, controlla magari in qualche reference.
Cmq per rendere portabile il programma almeno tra windows e linux esiste un porting della libreria conio.h(se n'è parlato sul forum, ora non ricordo il link magari trovi).
Quindi per differenziare tra conio di win e di lin basta giocare con il preprocessore
o qualcosa di simile, naturalmente il file header per linux devi fornirlo assieme ai tuoi sorgenti, magari c'è qualche libreria di linux che ha già una funzione simile ha getch senza usare di terze parti, solo che in programmazione *nix con C/C++ sono veramente inesperto.codice:... #ifdef linux #include "conio.h" #elseif def _win32 #include <conio.h> #else #error "OS not supported" #endif ...
Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)
il linguaggio anche nel titolo, please!
...Terrible warlords, good warlords, and an english song
Ciao...
Scusate se ho riesumato un thread di un mesetto fa, ma non mi sembrava il caso di aprirne uno nuovo.
Quello della getch() in ambiente Unix e' un problema che mi perseguita da tempo; implementazioni di conio.h per Unix non ne ho trovate (o meglio, ne ho trovata una ma non funzionava... non ricordo ne' quale, ne' da dove l'avessi scaricata). Stavo pensando: non possiamo implementare noi una funzione che faccia quello che fa getch()? Sono poco esperto di C, ma una funzione che stia in acolto su un segnale (tipo l'interrupt generato dalla tastiera) e che ritorni non appena viene premuto un tasto, non si puo' fare? Il tutto in user space...
Grazie,
Gica
Ma cosa fa, precisamente, questa getch() e in cosa si differenzia da getchar() ?Originariamente inviato da Gica
Quello della getch() in ambiente Unix e' un problema che mi perseguita da tempo; implementazioni di conio.h per Unix non ne ho trovate (o meglio, ne ho trovata una ma non funzionava... non ricordo ne' quale, ne' da dove l'avessi scaricata). Stavo pensando: non possiamo implementare noi una funzione che faccia quello che fa getch()?
"Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".
La getch() legge un carattere da tastiera e ritorna immediatamente, senza che si prema enter e, soprattutto, senza l'echo del carattere premuto.Originariamente inviato da Ikitt
Ma cosa fa, precisamente, questa getch() e in cosa si differenzia da getchar() ?
Su *nix c'è la libreria NCURSESOriginariamente inviato da Gica
Ciao...
Scusate se ho riesumato un thread di un mesetto fa, ma non mi sembrava il caso di aprirne uno nuovo.
Quello della getch() in ambiente Unix e' un problema che mi perseguita da tempo; implementazioni di conio.h per Unix non ne ho trovate (o meglio, ne ho trovata una ma non funzionava... non ricordo ne' quale, ne' da dove l'avessi scaricata). Stavo pensando: non possiamo implementare noi una funzione che faccia quello che fa getch()? Sono poco esperto di C, ma una funzione che stia in acolto su un segnale (tipo l'interrupt generato dalla tastiera) e che ritorni non appena viene premuto un tasto, non si puo' fare? Il tutto in user space...
Grazie,
Gica
http://www.itis.mn.it/linux/quarta/i...00000000000000
http://ildp.pluto.it/nonLDP/ncurses-intro.html
il sito ufficiale
http://www.gnu.org/software/ncurses/ncurses.html
Allora dovrebbe bastare impostare stdin come non-bloccante e disabilitare l'eco via termios, non dovrebbe essere troppo complicato. Oppure ci dovrebbe essere qualcosa in ncurses, come gia detto.Originariamente inviato da Gica
La getch() legge un carattere da tastiera e ritorna immediatamente, senza che si prema enter e, soprattutto, senza l'echo del carattere premuto.
"Qualsiasi esperto ha paura di combattere usando la katana vera. Anch'io. Ma non ignoro la mia paura, riesco ad accettarla, e a metterla da parte accanto a me".
prova con cin.get(), non so se fa al caso tuo...
*********************************
Andrea
*********************************