Modules/FileSystem/file/seek

From Multi Theft Auto: Wiki
Revision as of 03:12, 23 January 2022 by Danilo (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This function changes the location of the current stream pointer. Like that you can skip file sections, set the stream pointer to a specific location or head to the end of the file/stream object. Not all stream classes have to support this operation.

Syntax

int file:seek ( int offset, string mode )

Arguments

  • offset: the amount of bytes that should be used for the seeking operation
  • mode: a specifier that describes where the offset should start at; can be set (beginning of file), cur (current stream offset) or end (end of file/stream)

Returns

Returns 0 if the operation was successful, otherwise a non-zero value describing an error. If the operation is not supported by the underlying stream class, it returns false.

Example

Click to collapse [-]
Client

This snippet seeks back to the beginning of the file by going back the current stream pointer byte offset.

local function alternativeFileReset( theFile )
    -- Get the current stream position.
    local streamOffset = theFile:tell();

    -- Check whether this operation is supported.
    if not ( streamOffset ) then
        return false, "not supported";
    end

    -- Reset the file to its beginning.
    theFile:seek( -streamOffset, "cur" );
    return true;
end

FileSystem File Functions