Stores the current file position for a given file.
#include <stdio.h> int fgetpos (FILE *stream, fpos_t *pos);
0 | Indicates successful completion. |
-1 | Indicates that there are errors. |
#include <stdio.h> main() { FILE *fp; int stat,i; int character; unsigned char ch, c_ptr[130], d_ptr[130]; fpos_t posit; /* Open a file for writing. */ if ((fp = fopen ("file.dat","w+") ) == NULL) { perror ("open"); exit(1); } /* Get the beginning position in the file. */ if (fgetpos(fp, &posit) != 0) perror ("fgetpos"); /* Write some data to the file. */ if (fprintf(fp,"this is a test\n") == 0) { perror ("fprintf"); exit(1); } /* Set the file position back to the beginning. */ if(fsetpos(fp, &posit) != 0) perror ("fsetpos"); fgets(c_ptr,130,fp); puts(c_ptr); /* Should be "this is a test." */ /* Close the file. */ if (fclose (fp) != 0) { perror ("close"); exit(1); } }