The f_lseek moves the file read/write pointer.
FRESULT f_lseek ( FIL* FileObject, // Pointer to the file object structure DWORD Offset // File offset in unit of byte );
The f_lseek moves the file read/write pointer. The offset can be specified in only origin from top of the file and cannot moved to above end of the file. When an offset above the file size was specified, the read/write pointer moves to end of the file.
// Move to offset of 5000 from top of the file.
res = f_lseek(&file, 5000);
// Forward 3000 bytes
res = f_lseek(&file, file.fptr + 3000);
// Rewind 2000 bytes
res = f_lseek(&file, file.fptr - 2000);
// Move to end of the file
res = f_lseek(&file, 0xFFFFFFFF);