Fblockread

From SA-MP Wiki

Jump to: navigation, search

fblockread

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


Description:

This function allows you to read data from a file, without encoding and line terminators


Parameters:
(File:handle, buffer[], size = sizeof buffer)
handleFile handle to use, opened by fopen()
bufferThe buffer to save the read data in.
size = sizeof bufferThe number of cells to read.


Return Values:

The number of cells read. Zero, if the file end has been reached.


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

Warning

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


Example Usage:

// Define "some_enum"
enum _:some_enum
{
	some_data1,
	some_data2[20],
	Float:some_data3
}
 
// Declare "some_data"
new some_data[some_enum];
 
// ...
 
// Open "file.bin" in "read only" mode
new File:handle = fopen("file.bin", io_write)
 
	// Declare "file_len"
	file_len;
 
// Check, if "file.bin" is open
if(handle)
{
	// Success
 
	// Get the file length of "file.bin"
	file_len = flength(handle);
 
	// If file is equally large than the array
	if(file_len == (some_enum*4))
	{
		// Success
 
		// Read from "file.bin" into "some_data"
		fblockread(handle, some_data);
	}
	else
	{
		// Error
		print("\"file.bin\" is not compatible with the array.");
	}
 
	// Close "file.bin"
	fclose(handle);
}
else
{
	// Error
	print("Failed to open \"file.bin\".");
}


  • ftemp: Create a temporary file stream.
  • fgetchar: Get a character from a file.
  • fblockread: Read blocks of data 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.
Personal tools