function
<cstdio>
fgetpos
int fgetpos ( FILE * stream, fpos_t * pos );
Get current position in stream
Retrieves the current position in the stream.
The function fills the fpos_t object pointed by pos with the information needed from the stream's position indicator to restore the stream to its current position (and multibyte state, if wide-oriented) with a call to fsetpos.
The ftell function can be used to retrieve the current position in the stream as an integer value.
Parameters
- stream
- Pointer to a FILE object that identifies the stream.
- pos
- Pointer to a fpos_t object.
 This should point to an object already allocated.
Return Value
On success, the function returns zero.
In case of error, errno is set to a platform-specific positive value and the function returns a non-zero value.
Example
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 
 | /* fgetpos example */
#include <stdio.h>
int main ()
{
   FILE * pFile;
   int c;
   int n;
   fpos_t pos;
   pFile = fopen ("myfile.txt","r");
   if (pFile==NULL) perror ("Error opening file");
   else
   {
     c = fgetc (pFile);
     printf ("1st character is %c\n",c);
     fgetpos (pFile,&pos);
     for (n=0;n<3;n++)
     {
        fsetpos (pFile,&pos);
        c = fgetc (pFile);
        printf ("2nd character is %c\n",c);
     }
     fclose (pFile);
   }
   return 0;
}
 | 
Possible output (with myfile.txt containing ABC):
| 1st character is A
2nd character is B
2nd character is B
2nd character is B
 | 
The example opens myfile.txt, then reads the first character once, and then reads 3 times the same second character.
See also
- fsetpos
- Set position indicator of stream (function
)
- ftell
- Get current position in stream (function
)
- fseek
- Reposition stream position indicator (function
)