The standard function ftell() reports the current file pointer position. The file pointer is a numeric value that represents the current position in the file in the form of offset in bytes from the files beginning. ftell() is declared in
long ftell(FILE *);
ftell() takes a FILE* argument and returns the current offset from its beginning. You can store the returned value and use it to reposition the file pointer later:
FILE *data = fopen("payroll.dat", "r");// ... check status and read from the filelong current_pos = ftell(data); // store current position