Path: /sdk/add_on/scriptfile/
This object provides support for reading and writing files.
Register with RegisterScriptFile(asIScriptEngine*).
If you do not want to provide write access for scripts then you can compile the add on with the define AS_WRITE_OPS 0, which will disable support for writing. This define can be made in the project settings or directly in the header.
class file
{
int open(const string &in filename, const string &in mode);
int close();
int getSize() const;
bool isEndOfFile() const;
string readString(uint length);
string readLine();
int64 readInt(uint bytes);
uint64 readUInt(uint bytes);
float readFloat();
double readDouble();
int writeString(const string &in str);
int writeInt(int64 value, uint bytes);
int writeUInt(uint64 value, uint bytes);
int writeFloat(float value);
int writeDouble(double value);
int getPos() const;
int setPos(int pos);
int movePos(int delta);
bool mostSignificantByteFirst;
}
int open(const string &in filename, const string &in mode)
Opens a file. The mode can be "r" for reading, "w" for writing, or "a" for appending.
If the file couldn't be opened, a negative value is returned.
int close()
Closes the file.
If no file is open, a negative value is returned.
int getSize() const
Returns the size of the file, or a negative value if no file is open.
bool isEndOfFile() const
Returns true if the current position is at the end of the file.
string readString(uint length)
Reads length bytes into a string and returns it.
string readLine()
Reads until a new line character, e.g. '
', or end-of-file and returns the string. The new line character is also returned in the string.
int64 readInt(uint bytes)
Reads bytes as a signed integer number.
uint64 readUInt(uint bytes)
Reads bytes as an unsigned integer number.
float readFloat()
Reads 4 bytes as a float number.
double readDouble()
Reads 8 bytes as a double number.
int writeString(const string &in str)
Writes the bytes of the string into the file.
Returns the number of bytes written, or a negative value on error.
int writeInt(int64 value, uint bytes)
Writes bytes as a signed integer value.
Returns the number of bytes written, or a negative value on error.
int writeUInt(uint64 value, uint bytes)
Writes bytes as an unsigned integer value.
Returns the number of bytes written, or a negative value on error.
int writeFloat(float value)
Writes 4 bytes as a float value.
Returns the number of bytes written, or a negative value on error.
int writeDouble(double value)
Writes 8 bytes as a double value.
Returns the number of bytes written, or a negative value on error.
int getPos() const
Returns the current position in the file, or a negative value on error.
int setPos(int pos)
Sets the current position in the file. Returns the previous position or a negative value on error.
int movePos(int delta)
Moves the position delta bytes relative to the current position. Returns the previous position or a negative value on error.
bool mostSignificantByteFirst
This property should be set to true if the most significant bit should be read or written first in the methods that reads/writes numbers.
It is set to false by default, which is the standard on most platforms.
file f;
// Open the file in 'read' mode
if( f.open("file.txt", "r") >= 0 )
{
// Read the whole file into the string buffer
string str = f.readString(f.getSize());
f.close();
}