Petite question concernant les saisies en C :
Désolé si c'est un problème de "newbie" mais je ne vois pas vraiment de solution... voici mon problème :
j'ai une boucle ou je gère des saisies de caractères de ce type :
Code :
- #include <stdio.h>
- int main(void) {
- int entry;
- while(1) {
- entry = getc(stdin);
- if ( entry == EOF ) {
- fprintf( stderr, "Erreur!\n" );
- } else {
- fprintf( stdout, "Valeur de entry = %c\n", entry);
- }
- }
- }
|
Si j'entre un caractère (disons 'x' par exemple) j'obtiens l'affichage suivant :
Code :
- Valeur de entry = x
- Valeur de entry = // du blanc, NULL, retour chariot?
|
Si je j'entre deux caractères (disons "ab" ), j'obtiens l'affichage suivant :
Code :
- Valeur de entry = a
- Valeur de entry = b
- Valeur de entry = // même chose qu'au dessus!
|
Si quelqu'un pourvait éclairer ma lanterne, ça serait fort chouette , étant donné je n'ai pas trouvé de topic parlant de ce problème.
Y a t'il une histoire de flush en dessous de tout ça ?
ps: je travaille sous cygwin à priori ça ne devrait pas venir de là non?