yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 2009
-
21 janv. 2007 à 13:53
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 2009
-
22 janv. 2007 à 11:58
Bonjour !
Je souhaiterais savoir si vous connaitriez un équivalent de cout (ou printf) et un équivalent de _getch(), mais qui soient non CRT (si cela existe) ?
Merci d'avance pour votre aide.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 22 janv. 2007 à 09:49
Voilà où j'en suis.
J'ai réussi à remplacer le cout par WriteFile et ça marche exactement comme je le veux.
Par contre, j'ai encore des soucis pour remplacer _getch().
Pour l'instant, j'utilise ReadConsoleInput. Cela marche comme je le veux pour remplacer le premier _getch.
Mais pour les suivants, il semblerait que la touche tapée par l'utilisateur soit conservée en mémoire.
J'ai alors utilisé la fonction FlushConsoleInputBuffer (sans qu'elle neprovoque d'erreur) qui est sensée effacer ce qui a été tapé par l'utilisateur.
Sauf que là ça ne m'a absolument rien changé.
Voilà un bout du code en question :
yoyo269
Messages postés1403Date d'inscriptionlundi 23 février 2004StatutMembreDernière intervention11 janvier 20092 22 janv. 2007 à 11:58
Ca y est j'ai résolu mon problème !
Pour remplacer le _getch(), j'ai fait ceci :
INPUT_RECORD IR;
// Tant qu'on a pas appuyé sur la touche 'o' ou 'n', on lit...
while(IR.EventType != KEY_EVENT || !IR.Event.KeyEvent.bKeyDown || (IR.Event.KeyEvent.wVirtualKeyCode != 0x4E && IR.Event.KeyEvent.wVirtualKeyCode != 0x4F)) ReadConsoleInput(STDIN, &IR, 1, &Lu);
ZeroMemory(&IR, sizeof(IR)); // On efface tout ce que contient la structure
J'espère que ça servira à quelques uns.
YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"