Nom de la fonction : fseek
Fichier d'en-tête : <stdio.h>
Prototype de fonction : int fseek(FILE *stream, long offset, int fromwhere);
Fonction : Déplacez le pointeur de fichier sur le flux pour déplacer la position de la structure du fichier sur le flux. fseek définit le pointeur de fichier associé au flux stream à une nouvelle position décalée d'octets par rapport à la position du fichier donnée par fromwhere.
Paramètres : FILE *stream le flux à déplacer
décalage long décalage de la relocalisation
int d'où le lieu de la relocalisation
Valeur de retour : 0 en cas de succès, non-0 en cas d'erreur ou d'échec.
Supplément : La valeur de fromwhere doit être 0, l'un des 1 ou 2 représente respectivement les trois constantes symboliques définies dans stdio.h :
0 est SEEK_SET, qui est la position de départ du fichier ;
1 est SEEK_CUR, qui est la position actuelle du pointeur ;
A 14 heures, SEEK_END marque la fin du fichier.
Après l'appel de fseek, l'opération suivante à l'emplacement du fichier mis à jour peut être entrée, elle peut également être sortie.
Exemple de programme : ouvrez le fichier, saisissez la chaîne dans le flux de fichiers, déplacez-la au début du fichier et affichez la longueur du fichier.
#include<stdio.h>longfilesize(FILE*stream);intmain(void){FILE*stream=fopen(myfile.txt,w+);fprintf(stream,www.dotcpp.com);fseek(stream,0,SEEK_END );printf(Filesizeofmyfile.txtis%ldbytesn,ftell(stream));fclose(stream);return0;}
Résultats en cours d'exécution
La taille du fichier de mon fichier.txt est de 14 octets