RAD Studio
ContentsIndex
PreviousUpNext
fgetpos

Header File 

stdio.h  

Category 

Input/output Routines 

Prototype 

int fgetpos(FILE *stream, fpos_t *pos); 

Description 

Gets the current file pointer. 

fgetpos stores the position of the file pointer associated with the given stream in the location pointed to by pos. The exact value is unimportant; its value is opaque except as a parameter to subsequent fsetpos calls. 

Return Value 

On success fgetpos returns 0. On failure it returns a nonzero value and sets the global variable errno to

EBADF 
Bad file number 
EINVAL 
Invalid number 

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++ 
Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!