f_lseek

The f_lseek functione moves the file read/write pointer of an open file object.

FRESULT f_lseek (
  FIL* FileObject,   /* Pointer to the file object structure *
  DWORD Offset       /* File offset in unit of byte *
);

Parameters

FileObject
Pointer to the open file object.
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_NOT_READY
The disk drive cannot work due to no medium in the drive or any other reason.
FR_INVALID_OBJECT
The file object is invalid.

Description

The f_lseek function moves the file read/write pointer of an open file object. 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.

Example

    // 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, file.fsize);

References

f_open, FIL

Return