OVH Cloud OVH Cloud

getch() & cout

16 réponses
Avatar
ericmas001
J'ai trouver un moyen pour faire fonctionner un getch() avec des cout<<

"cout<<endl;" toujours avant mon getch().

Ya-t-il une équivalence en c++ du getch() qui serait plus compatible avec le cout ?

6 réponses

1 2
Avatar
kanze
"Christophe Lephay" wrote in message
news:<419cf9ee$0$6795$...
Fabien LE LEZ wrote:
On Thu, 18 Nov 2004 19:29:28 +0100, "Christophe Lephay"
:

C'est le problème récurrent lorsqu'on utilise les I/O héritées du C
avec les flux du C++.


getch() n'a rien à voir avec les I/O du C. Par contre, quand on
l'appelle (et donc quand le programme se fige en attendant une
touche), tout ce qui a été envoyé sur cout n'est pas forcément
présent à l'écran en l'absence de flush().


Bah, je dirais qu'il en est dans la lignée même s'il ne fait pas
partie du C standard.


Je ne crois pas. En 20 ans avec le C, puis le C++, je ne l'ai jamais vu.
(J'avoue que je ne l'ai pas cherché non plus, étant donné que je n'en
connaissais pas l'existance. Mais si je n'en connaissais l'existance,
c'est parce qu'il n'était présent ni sur les premiers compilateurs dont
je me suis servi, ni dans le C standard.)

Je viens de vérifiler ici. Elle fait partie de la bibliothèque curses.
Elle ne fait donc pas partie du C, ni du C++.

La problématique reste la même.


Pas tout à fait. Il y a des synchronisations entre la bibliothèque C et
celle de C++. Il n'y en a pas du tout entre les bibliothèques standard
et curses.

--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34



Avatar
Fabien LE LEZ
On 19 Nov 2004 02:44:13 -0800, :

[getch()]
En 20 ans avec le C, puis le C++, je ne l'ai jamais vu.


Si tu n'as jamais utilisé un compilateur Borland, ce n'est pas
étonnant.


--
;-)

Avatar
Jean-Marc Bourguet
Fabien LE LEZ writes:

On 19 Nov 2004 02:44:13 -0800, :

[getch()]
En 20 ans avec le C, puis le C++, je ne l'ai jamais vu.


Si tu n'as jamais utilisé un compilateur Borland, ce n'est pas
étonnant.


C'est aussi de curses.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org


Avatar
Christophe Lephay
wrote:
"Christophe Lephay" wrote in message
Bah, je dirais qu'il en est dans la lignée même s'il ne fait pas
partie du C standard.


Je ne crois pas. En 20 ans avec le C, puis le C++, je ne l'ai jamais
vu.


Oui, je crois que ça a été à l'origine une extension des I/O de Borland (sur
Turbo C).

Chris


Avatar
ericmas001
En gros, que je fasse un flush(); ou un cout<<endl;, sa évite le
probleme qui affichait mon cout apres mon getch si celui-ci n'avait
pas de endl.

En fait, le getch() me sert de pause dans ce contexte. Avec
system("pause"); de process.h , javais le même probleme qu'avec le
getch. L'.idéal serait un fonction pause propre au c++ qui ne poserait
pas probleme de synchronisation avec les cout<<
Avatar
Fabien LE LEZ
On 19 Nov 2004 09:02:50 -0800, (?ric Mass?):

En gros, que je fasse un flush(); ou un cout<<endl;, sa évite le
probleme


Ben oui, c'est très exactement pour ça que flush() a été créé.



--
;-)

1 2