+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2012
    Messages : 4
    Points : 4
    Points
    4

    Par défaut curseur dans un fichier

    bonjour !
    S.V.P , y a-t-il une différence entre rewind(fichier) & fseek(fichier , 0 ,0 ) ??

    merci de bien vouloir m'aider ^^

  2. #2
    Expert Confirmé Sénior

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    juin 2007
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : juin 2007
    Messages : 2 342
    Points : 5 516
    Points
    5 516

    Par défaut

    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);
    }
    Mes principes de bases du codeur qui veut pouvoir dormir:
    • Une variable de moins est une source d'erreur en moins.
    • Un pointeur de moins est une montagne d'erreurs en moins.
    • Un copier-coller, ça doit se justifier... Deux, c'est un de trop.
    • La plus sotte des questions est celle qu'on ne pose pas.

    Pour faire des graphes, essayez yEd.
    le ter nel est le titre porté par un de mes personnages de jeu de rôle

  3. #3
    Membre confirmé

    Inscrit en
    décembre 2012
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : décembre 2012
    Messages : 50
    Points : 255
    Points
    255

    Par défaut

    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.

  4. #4
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    janvier 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : janvier 2012
    Messages : 4
    Points : 4
    Points
    4

    Par défaut

    bien reçu
    je vous remercie

+ Répondre à la discussion
Cette discussion est résolue.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •