C++ : conio.h sous Unix ?

Bonjour tout le monde,

voilà, si vous avez lu mes autres posts, vous savez peut-être que je me met gentillement au C++ après avoir acquis pas mal de connaissances en Java. Je me heurte pourtant à mon premier soucis.

Je bosse sur un mac en général, sous X-Code ( qui utilise gcc si je ne me trompe pas ) et comme vous le savez certainement, la librairie conio.h n’est pas disponible ( en tout cas pas par défaut ) pour les environnements Unix.

Pourtant j’aurais bien besoin des fonctions getch() et getche(), surtout la première. En effet je sais que la seconde est facilement reproduisible en utilisant directement les flux ( cin ) ou les entrées conventionnelles ( scanf ) mais pour la première, c’est à dire la saise sans echo, je vois pas trop ( peut-être que c’est évident mais vu qje je débute =/ ).

Donc si quelqu’un peut m’aider un petit peu car je suis tout perdu. Je sais qu’il existe ncurses.h et curses.h mais je ne trouve pas de méthodes équivalentes =/

The getch, wgetch, mvgetch and mvwgetch, routines read a character from the window.
In no-delay mode, if no input is waiting, the value ERR is returned. In delay
mode, the program waits until the system passes text through to the program.
Depending on the setting of cbreak, this is after one character (cbreak mode), or
after the first newline (nocbreak mode). In half-delay mode, the program waits
until a character is typed or the specified timeout has been reached.

Ca fait pas ce que tu veux?

En plus, l’API ncurses est vraiment sympa a utiliser (man getch et man ncurses sont tes amis)

edit: Ca m’apprendra a pas bien lire un post! Sous mac, y a pas de manpage (quoi qu’avec fink, si, mais bon), donc il suffit d’utiliser google et de lui demande “man ncurses”. C’est magique, google.

LoneWolf

Faut que je me remette a ncurses, moi, tiens.
Ce message a été édité par LoneWolf le 28/12/2003

Merci bien mais j’ai un petit soucis =/

getch() s’utilise bien comme son homologue de conio.h ? J’ai une erreure étrange lorsque j’execute mon programme ( tout passe à la compilsation ). Enfin pas si étrange mais je ne vois pas comment la résoudre.

int main()

{

char c;

cout

tu dois rajouter la lib ncurses. sous linux, c’est un truc genre -I[lib include dir] -L[lib dir] -lncurses

Avec ton GUI, je sais pas…

LoneWolf

De l’avantage des GUI…