Trusted answers to developer questions

What is fsetpos in C ?

Get the Learn to Code Starter Pack

Break into tech with the logic & computer science skills you’d learn in a bootcamp or university — at a fraction of the cost. Educative's hand-on curriculum is perfect for new learners hoping to launch a career.

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:

  1. stream - pointer to a FILE object that identifies the stream.
  2. pos - this is a pointer to fpos_t that contains a position previously retrieved by fgetpos.

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.

RELATED TAGS

c

CONTRIBUTOR

Sheza Naveed
Copyright ©2024 Educative, Inc. All rights reserved
Did you find this helpful?