The fgetpos
function obtains the current position of stream and writes that in pos
.
int fgetpos(FILE *stream, fpos_t *pos)
This function takes the following two arguments:
stream
- the pointer to a FILE
object that identifies the streampos
- this is a pointer to fpos_t
.The function returns zero in case of success and non-zero value in case of an error.
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