IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

fseek et son fonctionnement


Sujet :

C

  1. #1
    Provisoirement toléré
    Inscrit en
    Juillet 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 80
    Points : 47
    Points
    47
    Par défaut fseek et son fonctionnement
    salut mes amis j'ai un probleme en fseek
    c'est que je veut creer un programme qui
    il lit un fishier(fishier txt d'entiers) puis incremente le pointeur jusqua la fin de fishier

  2. #2
    Membre du Club
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    Juillet 2006
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 42
    Points : 46
    Points
    46
    Par défaut
    salut
    pour le fonctionnement de fseek normalement tu n'as pas reelement besoin pour lire un fichier.
    Je m'explique si par exemple tu fait un fgetc(fp) le pointeur va s'incrementer automatiquement.

    Cependant si tu as réellement besoin du fssek, il fonctionne de la facon suivante
    fseek( *pointeur, décalage, SEEK_SET )
    SEEK_SET veut dire que tu decale en partant du debut du fichier il y a aussi SEEK_CUR(position actuelle) et SEEK_END(position finale)


    Bon courage

  3. #3
    Membre chevronné
    Homme Profil pro
    Dév. Java & C#
    Inscrit en
    Octobre 2002
    Messages
    1 413
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Dév. Java & C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 413
    Points : 1 993
    Points
    1 993
    Par défaut
    Bonjour,

    Tu n'as pas besoin de la fonction fseek() si tu lis séquentiellement ton fichier.
    Bien le bonjour chez vous
    Jowo

  4. #4
    Provisoirement toléré
    Inscrit en
    Juillet 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 80
    Points : 47
    Points
    47
    Par défaut
    je tu jure mon ami j'ai tout fait mais je veut un exemple pour comprendre mieux

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 519
    Points
    41 519
    Par défaut
    Franchement, je déconseille fseek() pour un fichier texte, à moins de VRAIMENT savoir ce qu'on fait.

    fseek() a surtout un intéret pour la lecture aléatoire (c'est-à-dire, lecture non-séquentielle) ou la modification d'un fichier binaire...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  6. #6
    Membre régulier
    Étudiant
    Inscrit en
    Juin 2004
    Messages
    81
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2004
    Messages : 81
    Points : 77
    Points
    77
    Par défaut
    Comme te l'as expliqué nerixm fseek est utilisé pour se déplacer dans le fichier.

    int fseek( FILE *stream, long depl, int posit);
    stream => ton fichier
    depl => le nombre d'octet sur lequel tu veux te déplacer (depl peut etre positif, négatif ou nul)
    posit => valeur qui te permet de te positionner sur le debut du fichier,la position courrante, la fin de fichier

    Concrètement fseek va te permettre de positionner le pointeur de ton fichier au bon emplacement pour lire ou écrire des données

    fseek(monfichier,-10,SEEK_END) va te permettre de te positionner 10 octets avant la fin de ton fichier.
    Une fois positionné au bon endroit tu peux commencer à lire ou écrire des données

    C'est pour sa que pour lire un fichier séquentiellement tu n'as pas besoin de cette fonction tu peux simplement utiliser fread ou fgets: tu te positionnes au debut du fichier et tu le lis jusqu'a EOF.

    En espérant t'avoir éclairé...

Discussions similaires

  1. [référencement]commande link : son fonctionnement ?
    Par the_dydy dans le forum Référencement
    Réponses: 2
    Dernier message: 02/05/2007, 11h59
  2. stencil buffer : comprend pas son fonctionnement
    Par casafa dans le forum OpenGL
    Réponses: 8
    Dernier message: 28/04/2007, 08h53
  3. [Virtual PC] aide sur son fonctionnement
    Par beegees dans le forum Windows XP
    Réponses: 7
    Dernier message: 08/04/2007, 18h20
  4. Réponses: 2
    Dernier message: 22/09/2006, 17h40
  5. [Maven2] Questions sur son fonctionnement
    Par romaintaz dans le forum Maven
    Réponses: 2
    Dernier message: 30/05/2006, 13h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo