fsetpos

From RAD Studio
Jump to: navigation, search

Go Up to stdio.h Index


Header File

stdio.h

Category

Input/output Routines

Prototype

int fsetpos(FILE *stream, const fpos_t *pos);

Description

Positions the file pointer of a stream.

fsetpos sets the file pointer associated with stream to a new position. The new position is the value obtained by a previous call to fgetpos on that stream. It also clears the end-of-file indicator on the file that stream points to and undoes any effects of ungetc on that file. After a call to fsetpos the next operation on the file can be input or output.

Return Value

On success fsetpos returns 0.

On failure it returns a nonzero value and also sets the global variable errno to a nonzero value.

Example

#include <stdlib.h>
#include <stdio.h>
void showpos(FILE *stream);
int main(void)
{
   FILE *stream;
   fpos_t filepos;
   /* open a file for update */
   stream = fopen("DUMMY.FIL", "w+");
   /* save the file pointer position */
   fgetpos(stream, &filepos);
   /* write some data to the file */
   fprintf(stream, "This is a test");
   /* show the current file position */
   showpos(stream);
   /* set a new file position, display it */
   if (fsetpos(stream, &filepos) == 0)
     showpos(stream);
   else
   {
      fprintf(stderr, "Error setting file pointer.\n");
      exit(1);
   }
   /* close the file */
   fclose(stream);
   return 0;
}
void showpos(FILE *stream)
{
   fpos_t pos;
   /* display the current file pointer
      position of a stream */
   fgetpos(stream, &pos);
   printf("File position: %ld\n", pos);
}


Portability

POSIX Win32 ANSI C ANSI C++

+

+

+

+