Ftemp

ftemp

Description:
Function ftemp creates a file in the "tmp", "temp" or root directory with random name for reading and writing. The file is deleted after fclose() is used on the file.
This function name starts with a lowercase letter.
This function can crash the server when the right directory isn't created.


Parameters:
(This function has no parameters.)


Return Values:
The temporary file handle. 0 if failed.


Examples:
// Create a temporary file stream
new File:t_handle = ftemp(),
 
	// Declare "handle"
	File:handle,
 
	// Declare "g_char"
	g_char;
 
// Check, if temporary file stream is open
if(t_handle)
{
	// Success
 
	// Open "file.txt" in "read only" mode and check, if the file is open
	if(handle = fopen("file.txt", io_read))
	{
		// Get all the characters from "file.txt"
		while((g_char = fgetchar(handle, 0, false)) != EOF)
		{
			// Write character in lowercase into the temporary file stream
			fputchar(t_handle, tolower(g_char), false);
		}
 
		// Close "file.txt"
		fclose(handle);
 
		// Set the file pointer of the temporary file stream to the first byte
		fseek(t_handle, _, seek_begin);
 
		// Open "file1.txt" in "write only" mode, and check, if the file is open
		if(handle = fopen("file1.txt", io_write))
		{
			// Success
 
			// Get all the characters from the temporary file stream
			while((g_char = fgetchar(t_handle, 0, false)) != EOF)
			{
				// Write character into "file1.txt"
				fputchar(handle, g_char, false);
			}
 
			// Close "file1.txt"
			fclose(handle);
 
			// Set the file pointer of the temporary file stream to the first byte
			fseek(t_handle, _, seek_begin);
		}
		else
		{
			// Error
			print("Failed to open file \"file1.txt\".");
		}
 
		// Open "file2.txt" in "write only" mode, and check, if the file is open
		if(handle = fopen("file2.txt", io_write))
		{
			// Success
 
			// Get all the characters from the temporary file stream
			while((g_char = fgetchar(t_handle, 0, false)) != EOF)
			{
				// Write character into "file2.txt"
				fputchar(handle, g_char, false);
			}
 
			// Close "file2.txt"
			fclose(handle);
		}
		else
		{
			// Error
			print("Failed to open file \"file2.txt\".");
		}
	}
	else
	{
		// Error
		print("Failed to open file \"file.txt\".");
	}
 
	// Close the temporary file stream
	fclose(t_handle);
}
else
{
	// Error
	print("Failed to create a temporary file stream.");
}


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.
  • 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.
  • fseek: Jump to a specific character in a file.
  • flength: Get the file length.
  • fexist: Check, if a file exists.
  • fmatch: Check, if patterns with a file name matches.