Fseek

From SA-MP Wiki

Jump to: navigation, search

fseek

Image:Farm-Fresh text lowercase.png Note: This function name starts with a lowercase letter.


Description:

Change the current position in the file. You can either seek forward or backward through the file.


Parameters:
(File:handle, position, whence)
handleThe file handle to use. Returned by fopen.
positionThe new position in the file, relative to the parameter whence (see below).
whenceThe starting position to which parameter position relates.


Return Values:

The new position; relative to the start of the file.


Image:32px-Circle-style-warning.png

Warning

Using an invalid handle will crash your server! Get a valid handle by using fopen or ftemp.


Whences

seek_startSet the file position relative to the start of the file (the position parameter must be positive).
seek_currentSet the file position relative to the current file position: the position parameter is added to the current position.
seek_endSet the file position relative to the end of the file (parameter position must be zero or negative).


Example Usage:

// Open "file.txt" in "read only" mode
new File:handle = fopen("file.txt", io_read);
 
// If "file.txt" is open
if(handle)
{
	// Success
 
	// Jump to the 1st byte of "file.txt", and print its position
	printf("Begin of file position: %d", fseek(handle, 0, seek_start));
 
	// Jump to the last byte of "file.txt", and print its position
	printf("End of file position: %d", fseek(handle, 0, seek_end));
 
	// Jump to the same byte of "file.txt", and print its position
	printf("Currrent file position: %d", fseek(handle, 0, seek_current));
 
	// Close "file.txt"
	fclose(handle);
}
else
{
	// Error
	print("Failed to open \"file.txt\".");
}

Related Functions

The following functions may be useful, as they are related to this function in one way or another.


  • ftemp: Create a temporary file stream.
  • fgetchar: Get a character from a file.
  • fseek: Jump to a specific character in a file.
  • fexist: Check, if a file exists.
  • fmatch: Check, if patterns with a file name matches.
In other languages