Fseek

fseek

Description:
Function fseek change the current position in the file. You can either seek forward or backward through the file.
Using an invalid handle will crash your server! Get a valid handle by using fopen or ftemp.
This function name starts with a lowercase letter.


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


Return Values:
The new position; relative to the start of the file.


Whences:
  • seek_start - Set the file position relative to the start of the file (the position parameter must be positive).
  • seek_current - Set the file position relative to the current file position: the position parameter is added to the current position.
  • seek_end - Set the file position relative to the end of the file (parameter position must be zero or negative).
Examples:
// 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.
  • fopen: Open a file (to read from or write to).
  • fclose: Close a file.
  • ftemp: Create a temporary file stream.
  • fremove: Remove a file.
  • fwrite: Write to a file.
  • fread: Read a file.
  • fputchar: Put a character in a file.
  • fgetchar: Get a character from a file.
  • fblockwrite: Write blocks of data into a file.
  • fblockread: Read blocks of data from a file.
  • flength: Get the file length.
  • fexist: Check, if a file exists.
  • fmatch: Check, if patterns with a file name matches.