What is fsetpos in C?
The fsetpos function restores the position in the stream to pos, as seen here:
int fsetpos ( FILE * stream, const fpos_t * pos );
Parameters
This function takes the following two arguments:
stream- pointer to aFILEobject that identifies the stream.pos- this is a pointer tofpos_tthat contains a position previously retrieved byfgetpos.
Return value
The function returns zero in case of success and non-zero value in case of an error.
Example
The following code shows the use of fsetpos function followed by reading the file. The program creates a file named file.txt. We obtain the initial position of the file using fgetpos function and write “This is old text” there. fsetpos function resets the write pointer and places it at the start of the file. The new text written this overrides the old text:
#include <stdio.h>int main () {FILE *thisFile;fpos_t position;int c;int n = 0;thisFile = fopen("sampleFile.txt","w+");fgetpos(thisFile, &position);fputs("This is old text", thisFile);fsetpos(thisFile, &position);fputs("This is new text that will override old text", thisFile);return(0);}
The string “This is old text” will be replaced by “This is new text that will override old text” in the file sampleFile.txt.
Free Resources
Copyright ©2026 Educative, Inc. All rights reserved