mirror of
https://github.com/libAthena/athena.git
synced 2025-12-09 05:27:50 +00:00
Initial API implementation
This commit is contained in:
@@ -31,7 +31,7 @@ namespace Athena
|
||||
{
|
||||
namespace io
|
||||
{
|
||||
FileWriter::FileWriter(const std::string& filename)
|
||||
FileWriter::FileWriter(const std::string& filename, bool overwrite)
|
||||
: m_filename(filename),
|
||||
m_fileHandle(NULL),
|
||||
m_endian(Endian::LittleEndian),
|
||||
@@ -39,7 +39,7 @@ FileWriter::FileWriter(const std::string& filename)
|
||||
m_bitShift(0),
|
||||
m_bitValid(false)
|
||||
{
|
||||
open();
|
||||
open(overwrite);
|
||||
}
|
||||
|
||||
FileWriter::~FileWriter()
|
||||
@@ -68,9 +68,13 @@ bool FileWriter::isLittleEndian() const
|
||||
return (m_endian == Endian::LittleEndian);
|
||||
}
|
||||
|
||||
void FileWriter::open()
|
||||
void FileWriter::open(bool overwrite)
|
||||
{
|
||||
m_fileHandle = fopen(m_filename.c_str(), "w+b");
|
||||
if (overwrite)
|
||||
m_fileHandle = fopen(m_filename.c_str(), "w+b");
|
||||
else
|
||||
m_fileHandle = fopen(m_filename.c_str(), "r+b");
|
||||
|
||||
if (!m_fileHandle)
|
||||
THROW_FILE_NOT_FOUND_EXCEPTION(m_filename);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user