f_lseek

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
);

Parameters

FileObject
Pointer to the file object structure.
Offset
Number of bytes where from start of file

Return Values

FR_OK (0)
The function succeeded.
FR_RW_ERROR
Any error occured in low level disk I/O.
FR_INCORRECT_DISK_CHANGE
Incorrect disk removal, such as a medium change during any file is opend, has been occured.
FR_NOT_ENABLED
FatFs module has not been enabled.

Description

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.

Sample Code

    // Move to offset of 5000 from top of 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 file
    res = f_lseek(&file, 0xFFFFFFFF);

References

f_open, FIL

Return