What is fgetpos in C ?

The fgetpos function obtains the current position of stream and writes that in pos.

int fgetpos(FILE *stream, fpos_t *pos) 

Parameters

This function takes the following two arguments:

  1. stream - the pointer to a FILE object that identifies the stream
  2. pos - this is a pointer to fpos_t.

Return value

The function returns zero in case of success and non-zero value in case of an error.

Example

The following example shows the use of the fgetpos function. The program creates a file named file.txt. We obtain the initial position of the file using the fgetpos function and write “This is old text” there. The 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;
// char str[1000];
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);
fclose(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 ©2025 Educative, Inc. All rights reserved