EOF:signification.
Résolu/Fermé
saadinto
Messages postés
14
Date d'inscription
dimanche 18 novembre 2007
Statut
Membre
Dernière intervention
23 mars 2008
-
23 mars 2008 à 14:55
saadinto Messages postés 14 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 23 mars 2008 - 23 mars 2008 à 18:45
saadinto Messages postés 14 Date d'inscription dimanche 18 novembre 2007 Statut Membre Dernière intervention 23 mars 2008 - 23 mars 2008 à 18:45
3 réponses
jee pee
Messages postés
40558
Date d'inscription
mercredi 2 mai 2007
Statut
Modérateur
Dernière intervention
16 décembre 2024
9 458
23 mars 2008 à 15:05
23 mars 2008 à 15:05
bonjour,
la valeur hexa de eof c'est : 1a
mais c'est une valeur que les programmes ne récupèrent pas nécessairement à la lecture, puisque c'est justement le caractère qui indique que c'est la fin. Donc la plupart du temps il n'est pas retourné dans les données quand on fait une lecture
par contre le programme qui assure la lecture des données doit recevoir dans le code retour l'indication que la fin du fichier a été atteinte
cdt
la valeur hexa de eof c'est : 1a
mais c'est une valeur que les programmes ne récupèrent pas nécessairement à la lecture, puisque c'est justement le caractère qui indique que c'est la fin. Donc la plupart du temps il n'est pas retourné dans les données quand on fait une lecture
par contre le programme qui assure la lecture des données doit recevoir dans le code retour l'indication que la fin du fichier a été atteinte
cdt
23 mars 2008 à 15:11
pour la fonction fgetc on peut tester si le fichier a etai ouvert fgetc(caractere)!=eof
mais dn le cas d une chaine de caractere j vx dire fgets elle renvoi un pointeur sur char le test ce fai donc comme cela
fgets(chaine)!=null
si je lie ca a ce ke ta di ca vx dire ke null et eof sont les meme
null et eof siginifient tt les 2 fin de fichier .
pa claire!
23 mars 2008 à 15:19
tu testes = eof => le fichier est fini
si pas eof et pas null, c'est donc un pointeur
23 mars 2008 à 15:32
Je suis moyennement d'accord.
Il ne faut pas mélanger fgetc et fgets. cf la section return value.
Le comportement de fgetc est de renvoyer un caractère ou le caractère EOF en cas de fin de fichier ou d'erreur.
Le comportement de fgets est de renvoyer un pointeur sur une chaîne ou le pointeur NULL en cas de fin de fichier ou d'erreur.
L'utilisateur peut ensuite dans ces deux cas vérifier la signification du EOF pour fgetc ou du NULL pour fgets avec les fonctions feof et ferror.
M.
23 mars 2008 à 15:35
23 mars 2008 à 15:37
Y a pas de quoi ;-)
M.
PS:
Petit ajout en passant, il faut bien et bien tester si c'est différent de NULL et non pas de null.