RAD Studio |  |

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

Copy Code

    #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!