bonjour !
S.V.P , y a-t-il une différence entre rewind(fichier) & fseek(fichier , 0 ,0 ) ??
merci de bien vouloir m'aider ^^
Version imprimable
bonjour !
S.V.P , y a-t-il une différence entre rewind(fichier) & fseek(fichier , 0 ,0 ) ??
merci de bien vouloir m'aider ^^
Mieux vaut utiliser fseek avec les constantes définies spécialement pour elle:
ainsi fseek(file, 0, 0) équivaut à fseek(file, 0, SEEK_SET)
La fonction rewind place le curseur au début du fichier et remet à 0 tous les drapeaux d'erreur. En cela, elle est équivalente à:
Code:
1
2
3
4 void rewind(FILE* file) { fseek(file, 0, SEEK_SET); clearerr(file); }
Bonjour,
Lorsqu'on ouvre un fichier avec fopen, on obtient un flux. Le flux possède un indicateur de position dans le fichier ("curseur"), un indicateur de fin de fichier, et un indicateur d'erreur. On peut connaître la valeur de ces indicateurs grâce aux fonctions ftell, feof, et ferror, respectivement.
Lorsque la fonction fseek rencontre une erreur de lecture ou d'écriture, elle met à une valeur non nulle l'indicateur d'erreur. Lorsque fseek ne rencontre pas d'erreur, elle ne modifie pas l'indicateur d'erreur.
La fonction rewind ne se préoccupe pas des erreurs, elle met à zéro l'indicateur d'erreur quoi qu'il arrive.
Une autre chose qui différencie ces deux fonctions est leur valeur de retour : rewind ne renvoie pas de valeur, alors que fseek renvoie 0 en cas de succès et -1 en cas d'échec.
bien reçu ;)
je vous remercie :ccool: