Eternel problème : comment faire pour faire une pause dans un programme?
Je dois afficher un message d'erreur à l'utilisateur, puis qu'il
appuie sur entrer pour repasser sur le menu principal.
Eternel problème : comment faire pour faire une pause dans un programme?
Deux voies : - (n)curses pour une vraie interface en ligne de commande - version portable : string ligne_bidon; getline (cin, ligne_bidon);
Juste un détail, mais qu'est-ce que tu entends par « ligne de commande » ? Parce que j'aurais dit, moi, que (n)curses est tout autre qu'en ligne de commande.
-- James Kanze GABI Software 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
Fabien LE LEZ wrote:
On Tue, 08 Feb 2005 22:40:52 +0100, Pascal <pascal@spam.org>:
Eternel problème : comment faire pour faire une pause dans un
programme?
Deux voies :
- (n)curses pour une vraie interface en ligne de commande
- version portable :
string ligne_bidon;
getline (cin, ligne_bidon);
Juste un détail, mais qu'est-ce que tu entends par « ligne de
commande » ? Parce que j'aurais dit, moi, que (n)curses est tout
autre qu'en ligne de commande.
--
James Kanze GABI Software
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
Eternel problème : comment faire pour faire une pause dans un programme?
Deux voies : - (n)curses pour une vraie interface en ligne de commande - version portable : string ligne_bidon; getline (cin, ligne_bidon);
Juste un détail, mais qu'est-ce que tu entends par « ligne de commande » ? Parce que j'aurais dit, moi, que (n)curses est tout autre qu'en ligne de commande.
-- James Kanze GABI Software 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
Fabien LE LEZ
On 9 Feb 2005 04:10:38 -0800, :
qu'est-ce que tu entends par « ligne de commande » ?
C'est un raccourci pour désigner un mode non-GUI.
-- ;-)
On 9 Feb 2005 04:10:38 -0800, kanze@gabi-soft.fr:
qu'est-ce que tu entends par « ligne de
commande » ?
On Wed, 09 Feb 2005 11:08:09 +0100, Fabien LE LEZ wrote:
Mon dieu mon dieu... Je préfère encore getch().
Pour utiliser getch() sous linux, il faut bien inclure <curses.h>? J'ai fait ça, mais ça ne marche pas non plus.
kanze
Pascal wrote:
On Tue, 08 Feb 2005 22:51:18 +0100, Fabien LE LEZ wrote:
string ligne_bidon; getline (cin, ligne_bidon);
sous linux, ca ne marche pas. Alors j'ai pensé à faire un fflush(null), mais ça n'a pas marché.
Sous Linux, ça marche comme partout ailleurs, mais il faut voir ce que tu as fais avant. Il se peut qu'il y a une erreur avant qui ne se manifeste qu'ici, ou que tu n'as pas pensé à lire toute la ligne avant, ce qui fait q'il y a encore une (partie de) ligne dans le buffer. Et évidemment, si tu utilises quelque chose du genre curses, qui a changé le mode des entrées clavier, ça risque de ne pas marcher non plus.
-- James Kanze GABI Software 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
Pascal wrote:
On Tue, 08 Feb 2005 22:51:18 +0100, Fabien LE LEZ wrote:
string ligne_bidon;
getline (cin, ligne_bidon);
sous linux, ca ne marche pas. Alors j'ai pensé à faire un
fflush(null), mais ça n'a pas marché.
Sous Linux, ça marche comme partout ailleurs, mais il faut voir
ce que tu as fais avant. Il se peut qu'il y a une erreur avant
qui ne se manifeste qu'ici, ou que tu n'as pas pensé à lire
toute la ligne avant, ce qui fait q'il y a encore une (partie
de) ligne dans le buffer. Et évidemment, si tu utilises quelque
chose du genre curses, qui a changé le mode des entrées clavier,
ça risque de ne pas marcher non plus.
--
James Kanze GABI Software
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
On Tue, 08 Feb 2005 22:51:18 +0100, Fabien LE LEZ wrote:
string ligne_bidon; getline (cin, ligne_bidon);
sous linux, ca ne marche pas. Alors j'ai pensé à faire un fflush(null), mais ça n'a pas marché.
Sous Linux, ça marche comme partout ailleurs, mais il faut voir ce que tu as fais avant. Il se peut qu'il y a une erreur avant qui ne se manifeste qu'ici, ou que tu n'as pas pensé à lire toute la ligne avant, ce qui fait q'il y a encore une (partie de) ligne dans le buffer. Et évidemment, si tu utilises quelque chose du genre curses, qui a changé le mode des entrées clavier, ça risque de ne pas marcher non plus.
-- James Kanze GABI Software 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
Alexandre
"Pascal" a écrit dans le message de news:
On Tue, 08 Feb 2005 22:51:18 +0100, Fabien LE LEZ wrote:
string ligne_bidon; getline (cin, ligne_bidon);
sous linux, ca ne marche pas. Alors j'ai pensé à faire un fflush(null), mais ça n'a pas marché.
si tu veux vider le buffer d'entrée je ferais plutôt cin.sync() ; avant.
"Pascal" <teapa5@B022-05.fr> a écrit dans le message de news:
pan.2005.02.09.14.24.50.409495@B022-05.fr...
On Tue, 08 Feb 2005 22:51:18 +0100, Fabien LE LEZ wrote:
string ligne_bidon;
getline (cin, ligne_bidon);
sous linux, ca ne marche pas. Alors j'ai pensé à faire un fflush(null),
mais ça n'a pas marché.
si tu veux vider le buffer d'entrée je ferais plutôt
cin.sync() ;
avant.
On Tue, 08 Feb 2005 22:51:18 +0100, Fabien LE LEZ wrote:
string ligne_bidon; getline (cin, ligne_bidon);
sous linux, ca ne marche pas. Alors j'ai pensé à faire un fflush(null), mais ça n'a pas marché.
si tu veux vider le buffer d'entrée je ferais plutôt cin.sync() ; avant.
Pascal
On Thu, 10 Feb 2005 01:13:39 -0800, kanz wrote:
Sous Linux, ça marche comme partout ailleurs, mais il faut voir ce que tu as fais avant. Il se peut qu'il y a une erreur avant qui ne se manifeste qu'ici, ou que tu n'as pas pensé à lire toute la ligne avant, ce qui fait q'il y a encore une (partie de) ligne dans le buffer. Et évidemment, si tu utilises quelque chose du genre curses, qui a changé le mode des entrées clavier, ça risque de ne pas marcher non plus.
Dans ce cas, je ne comprends pas pourquoi ça ne marche pas. Je ne touche pas au ncurses. Tout ce que je fais, c'est afficher un message avant.
On Thu, 10 Feb 2005 01:13:39 -0800, kanz wrote:
Sous Linux, ça marche comme partout ailleurs, mais il faut voir
ce que tu as fais avant. Il se peut qu'il y a une erreur avant
qui ne se manifeste qu'ici, ou que tu n'as pas pensé à lire
toute la ligne avant, ce qui fait q'il y a encore une (partie
de) ligne dans le buffer. Et évidemment, si tu utilises quelque
chose du genre curses, qui a changé le mode des entrées clavier,
ça risque de ne pas marcher non plus.
Dans ce cas, je ne comprends pas pourquoi ça ne marche pas. Je ne touche pas au ncurses. Tout ce que
je fais, c'est afficher un message avant.
Sous Linux, ça marche comme partout ailleurs, mais il faut voir ce que tu as fais avant. Il se peut qu'il y a une erreur avant qui ne se manifeste qu'ici, ou que tu n'as pas pensé à lire toute la ligne avant, ce qui fait q'il y a encore une (partie de) ligne dans le buffer. Et évidemment, si tu utilises quelque chose du genre curses, qui a changé le mode des entrées clavier, ça risque de ne pas marcher non plus.
Dans ce cas, je ne comprends pas pourquoi ça ne marche pas. Je ne touche pas au ncurses. Tout ce que je fais, c'est afficher un message avant.