Intercepter clavier [Résolu]

Signaler
Messages postés
6
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
3 février 2007
-
Messages postés
6
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
3 février 2007
-
Salut,

Je cherche à récupérer une chaine de caractère entrée dans la console. Au lieu de la récupérer à l'appui sur ENTER j'aimerais la stocker dans une variable au fur et mesure que l'utilisateur tape chaque lettre de la chaine.

Tymk

6 réponses

Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
Ce serait pas plutôt quelque chose comme:

char tab[256];
int key, i = 0;
while((key = getchar()) != '\n')  tab[i++] = (char)key;
// Ou ceci pour éviter les débordements tampons (si nécessaire)
// while((key = getchar()) != '\n' && i < 255)  tab[i++] = (char)key;
tab[i] = 0;

C++ (@++)<!--
Messages postés
3212
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
16 février 2009
15
getchar retourne un int. Le cast aurais été obligatoire peut-importe le type de key.

C++ (@++)<!--
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
Salut !

Est-ce que ceci te convient ?
char Key = 0;
while(!Key) _getch();

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
Messages postés
1403
Date d'inscription
lundi 23 février 2004
Statut
Membre
Dernière intervention
11 janvier 2009
3
C'est vrai que ya un souci !
A la base je voulais mettre ça :
char Key = 0;
while(!Key) Key = _getch();

YOYO, @+.
"L'intelligence c'est comme un parachute, quand on en n'a pas...on s'écrase !"
Messages postés
6
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
3 février 2007

SAKingdom > pourquoi déclarer un entier key puis faire un transtipage et pas simplement déclarer un char key ?
Messages postés
6
Date d'inscription
lundi 9 août 2004
Statut
Membre
Dernière intervention
3 février 2007

Merci,


Mon problème est résolu.