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.
int file.seek ( int offset, string mode )
- 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 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.
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