Getchar = valeur?

Fermé
Max - 6 mai 2005 à 15:46
 SKZ - 7 mai 2005 à 13:47
Bonjour,
Poriez-vous me dire comment vérifier la valeur d'une expression...
(je voudrais vérifier la valeur de l'expression getchar( ) != EOF )
deuxiéme question :
EOF c'est l'indicateur de fin de fichier .... C'es QUOI l'indicateur de fin de fichier ???
D'avance Merci
Max

7 réponses

Canard007 Messages postés 5929 Date d'inscription mercredi 26 mai 2004 Statut Contributeur Dernière intervention 18 septembre 2009 215
6 mai 2005 à 16:00
EOF : End Of File
dernier caractere corespondant à /0 pour savoir quandle fichier est fini ...tres pratique pour ne pas lire le fichier situé apres dans la memoire...
sinon pour ton test suffit de faire.
if(getchar()!= EOF)
0
Il sera probablement plus malin de faire un
while( getchar()!=EOF ) {
...
}


Pour répéter l'opération TANT QUE le caractère lu n'est PAS la fin de fichier.

Entant donné que les comparateur (==, !=, <, <=, >, >=) renvoit des "valeurs booléenne" (zéro pour "faux" et non-zéro pour "vrai") il suffit, comme le dit canard de faire un test (if, while, for...)

Ex :
for(a='\0' ; a!=EOF; a=getchar() ) {
...
} 

est équivalant au while audessus
0
Marden Messages postés 1072 Date d'inscription dimanche 11 février 2001 Statut Membre Dernière intervention 29 janvier 2006 208
6 mai 2005 à 17:09
Un doute m'ayant assailli au vu des deux réponses proposées, et ma mémoire risquant de me faire des siennes, je suis allé verifier...

EOF est une définition de "stdio.h", correspondant à la valeur (-1) et non à 0 (ou \0) auquel cas la boucle "for" proposée ne s'exécuterait pas.
La valeur (-1) n'est pas à proprement parler un caractère, mais la valeur rendue par la fonction, en cas de fin de fichier (dont le programmeur n'a pas à se soucier quant à la manière utilisée pour la détecter), sachant que les caractères sont traités comme des entiers.
0
la valeur (-1) et non à 0 (ou \0) auquel cas la boucle "for" proposée ne s'exécuterait pas.
Et il ose avouer qu'il m'a prit pour un rigolo ;°)

Néanmoins, très juste précision.
0
J'ai toujour un gros probléme avec EOF, je ne sais pas comment l'activer quand j'éxécute mon prog....
j'ai :
while ((c = getchar()) != EOF)
qui veut dire ( enfin je croi ... ):
Si se que j'entre est différent de EOF allors il éxécute la suite ....
le probléme est que je ne sait pas comment faire pour entrer EOF ...
Merci d'avance
et déja merci pour toutes vos réponses ....
Max
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
7 mai 2005 à 12:27
EOF sous DOS et Windows est la combinaison de touches CTRL+Z
0
Merci pour vos réponces !!!!
Max
0
sam3000 Messages postés 1225 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 13 juin 2005 144
7 mai 2005 à 13:02
de rien, à ton service (si le pb est resolut, svp indique le en validant resolut en haut du message)
0