Getchar = valeur?

Max -  
 SKZ -
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 5936 Statut Contributeur 215
 
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
SKZ
 
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 1075 Statut Membre 210
 
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
SKZ
 
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
Max
 
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 1226 Statut Membre 144
 
EOF sous DOS et Windows est la combinaison de touches CTRL+Z
0
max
 
Merci pour vos réponces !!!!
Max
0
sam3000 Messages postés 1226 Statut Membre 144
 
de rien, à ton service (si le pb est resolut, svp indique le en validant resolut en haut du message)
0