Langage C : Besoin d'explication
Résolu/Fermé
A voir également:
- Langage C : Besoin d'explication
- Langage ascii - Guide
- Langage binaire - Guide
- Pascal langage - Télécharger - Édition & Programmation
- Langage pascal - Télécharger - Édition & Programmation
- Débuter langage batch windows - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 841
3 déc. 2010 à 10:11
3 déc. 2010 à 10:11
Bonjour,
Ce code permet de vider le buffer clavier.
En effectuant des lectures clavier, il est courant qu'il y ait des résidus de caractères qui n'ont pas pu être pris en compte par la variable de lecture.
Par exemple : char buf[5]; fgets(buf, sizeof buf, stdin); Si l'utilisateur tape une chaîne de 10 caractères, il y aura des caractères qui resteront dans le buffer clavier.
Avant de refaire une lecture clavier, il est important (sauf cas particulier) de vider le buffer. Pour ceci, il suffit de lire les caractères avec getchar() jusqu'à ce qu'on rencontre '\n' ou EOF qui seront les derniers caractères du buffer clavier. D'où le code de ta fonction.
Cdlt,
Ce code permet de vider le buffer clavier.
En effectuant des lectures clavier, il est courant qu'il y ait des résidus de caractères qui n'ont pas pu être pris en compte par la variable de lecture.
Par exemple : char buf[5]; fgets(buf, sizeof buf, stdin); Si l'utilisateur tape une chaîne de 10 caractères, il y aura des caractères qui resteront dans le buffer clavier.
Avant de refaire une lecture clavier, il est important (sauf cas particulier) de vider le buffer. Pour ceci, il suffit de lire les caractères avec getchar() jusqu'à ce qu'on rencontre '\n' ou EOF qui seront les derniers caractères du buffer clavier. D'où le code de ta fonction.
Cdlt,