Bonjour,
Je suis confronté depuis la semaine dernière à un problème et je ne trouve pas comment m'en sortir.
En gros, mon programme est inactif pendant un moment, et après vient un gets().
Le problème, c'est que si l'utilisateur presse des touches pendant la période d'inactivité qui précède le gets(), on les retrouve "dedans". Si en plus par malheur on presse Entrer pendant l'inactivité... ça valide le gets() sans même que l'utilisateur n'ait pu écrire ce qu'il veut.
Au cas où ce que je dis n'est pas très clair, testez ce bout de code en tapant plein de caractères durant les 2secondes de pause :
Code :
- #include <stdio.h>
- #include <windows.h>
- int main() {
- char s[100];
- Sleep(2000);
- gets(s);
- }
|
Existe-t-il une fonction pour "vider" ce qui a été éventuellement tapé avant le gets() ?
Ou, si ce n'est pas faisable, quelqu'un aurait une idée pour y remédier ? J'ai pas envie de recoder un gets() en écoutant les pressions de toutes les lettres... =P
Merci par avance