ftemp
Description
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.
Returns
The temporary file handle. 0 if failed.
Examples
// Create a temporary file stream
new File:t_handle = ftemp();
// Declare "handle"
new File:handle;
// Declare "g_char"
new 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.");
}
Notes
warning
This function can crash the server when the right directory isn't created.
Related Functions
- fopen: Open a file.
- 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.
- ftell: Get the current position in the file.
- fflush: Flush a file to disk (ensure all writes are complete).
- fstat: Return the size and the timestamp of a file.
- frename: Rename a file.
- fcopy: Copy a file.
- filecrc: Return the 32-bit CRC value of a file.
- fattrib: Set the file attributes.
- fcreatedir: Create a directory.