Fonctions de la bibliothèque C -fsetpos()
Bibliothèque standard C - <stdio.h>
Description
Fonctions de la bibliothèque Cint fsetpos(FILE *stream, const fpos_t *pos)Définit le flux donnéstreamLa position du fichier est la position donnée. Paramètresposest la position donnée par la fonction fgetpos.
Déclaration
Ci-dessous se trouve la déclaration de la fonction fsetpos().
int fsetpos(FILE *stream, const fpos_t *pos)
Paramètre
- stream-- Il s'agit d'un pointeur vers un objet FILE qui identifie le flux.
- pos-- Il s'agit d'un pointeur vers un objet fpos_t qui contient une position précédemment obtenue avec fgetpos.
Valeur de retour
En cas de succès, la fonction renvoie zéro ; sinon, elle renvoie une valeur non nulle et définit la variable globaleerrnoà une valeur positive, qui peut être interprétée via perror.
Exemple
L'exemple suivant illustre l'utilisation de la fonction fsetpos().
Exemple
int main ()
{
FILE *fp;
fpos_t position;
fp = fopen("file.txt","w+");
fgetpos(fp, &position);
fputs("Hello, World!", fp);
fsetpos(fp, &position);
fputs("This will overwrite the previous content", fp);
fclose(fp);
return(0);
}
Compilons et exécutons le programme ci-dessus, qui créera unfile.txt, dont le contenu est le suivant. D'abord, nous utilisonsfgetpos()La fonction obtient la position initiale du fichier, puis nous écrivons dans le fichierHello, World!, puis nous utilisons la fonctionfsetpos()pour réinitialiser le pointeur d'écriture au début du fichier, en réécrivant le fichier avec le contenu suivant :
This will overwrite the previous content.
Maintenant, utilisons le programme suivant pour afficher le contenu du fichier ci-dessus :
Exemple
int main ()
{
FILE *fp;
int c;
fp = fopen("file.txt","r");
while(1)
{
c = fgetc(fp);
if( feof(fp) )
{
break ;
}
printf("%c", c);
}
fclose(fp);
return(0);
}