PrevNextUpHome SophiaFramework UNIVERSE 5.3
SFXBinaryStreamWriter
Class for a stream to write the binary sequence onto.
#include <SFXBinaryStreamWriter.h.hpp>
class SFXBinaryStreamWriter : public SFXStreamWriter, public SFXBinaryStream;
SFMTYPEDEFCLASS(SFXBinaryStreamWriter)

Inheritance diagram

 Inheritance diagram of SFXBinaryStreamWriterClass

Collaboration diagram

 Collaboration diagram of SFXBinaryStreamWriterClass

Description

The SFXBinaryStreamWriter class is used to write the binary sequence (data of the arbitrary type) onto the binary stream of the storage.

In case of the variable buffer stream, the SFXElasticStreamWriter class is internally used. But you don't have to be aware of this class.

[Caution] Extractor(>> Operator)

Since the extractor(>> operator) whose right operand is of the SFXBuffer type is defined in the binary stream, the SFXBuffer instance can be specified as the right operand.

In the string stream, however, the SFXBuffer instance cannot be specified as the right operand since it is not defined.

Reference

SFXBinaryStreamReader | SFXAnsiStringStreamWriter | SFXWideStringStreamWriter | SFXElasticStreamWriter | Stream | Binary Stream | Storage

Member

Constructor/Destructor
SFXBinaryStreamWriter( Void )
Constructor of the SFXBinaryStreamWriter class.
Public Functions
SFCError WriteAChar( ACharConstPtr string , SInt32 length = -1 )
Write the AChar string onto this stream.
SFCError WriteBool( Bool param )
Write the Bool value onto this stream.
SFCError WriteFloat32( Float32 param )
Write the Float32 value onto this stream.
SFCError WriteFloat64( Float64 param )
Write the Float64 value onto this stream.
SFCError WriteSFXAnsiString( SFXAnsiStringConstRef param )
Write the AChar string onto this stream.
SFCError WriteSFXWideString( SFXWideStringConstRef param )
Write the WChar string onto this stream.
SFCError WriteSInt08( SInt08 param )
Write the SInt08 value onto this stream.
SFCError WriteSInt16( SInt16 param )
Write the SInt16 value onto this stream.
SFCError WriteSInt32( SInt32 param )
Write the SInt32 value onto this stream.
SFCError WriteSInt64( SInt64 param )
Write the SInt64 value onto this stream.
SFCError WriteUInt08( UInt08 param )
Write the UInt08 value onto this stream.
SFCError WriteUInt16( UInt16 param )
Write the UInt16 value onto this stream.
SFCError WriteUInt32( UInt32 param )
Write the UInt32 value onto this stream.
SFCError WriteUInt64( UInt64 param )
Write the UInt64 value onto this stream.
SFCError WriteWChar( WCharConstPtr string , SInt32 length = -1 )
Write the WChar string onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SFXBufferConstRef right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SFXBinaryStreamWriter::ManipulatorSPP right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SInt08 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , UInt08 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SInt16 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , UInt16 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SInt32 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , UInt32 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SInt64 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , UInt64 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , Float32 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , Float64 right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , ACharConstPtr right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , WCharConstPtr right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SFXAnsiStringConstRef right )
Write data onto this stream.
SFXBinaryStreamWriterRef operator<( SFXBinaryStreamWriterRef left , SFXWideStringConstRef right )
Write data onto this stream.
Void Attach( SFXOutputStreamPtr stream ) (inherits from SFXStreamWriter)
Attach the specified stream to this stream.
Void Cancel( Void ) (inherits from SFXStreamWriter)
Cancel to write onto this stream.
SFXOutputStreamPtr Detach( Void ) (inherits from SFXStreamWriter)
Detach the stream from this stream.
SFCError Flush( Void ) (inherits from SFXStreamWriter)
Write data in the stream buffer into the storage.
SFCError Flush( CallbackSPP spp , VoidPtr reference ) (inherits from SFXStreamWriter)
Write data in the stream buffer into the storage.
EndianEnum GetEndian( Void ) (inherits from SFXBinaryStream)
Get the endian of this stream.
UInt32 GetWritableSize( Void ) (inherits from SFXStreamWriter)
Get the size of data that can be written into this stream. [in bytes]
Void Release( Void ) (inherits from SFXStreamWriter)
Release this stream.
SFCError ResetTrigger( Void ) (inherits from SFXStreamWriter)
Reset the trigger condition that the callback function will be booted up.
Void SetEndian( EndianEnum param ) (inherits from SFXBinaryStream)
Set the endian of this stream.
SFCError SetTrigger( UInt32 size ) (inherits from SFXStreamWriter)
Set the trigger condition that the callback function will be booted up.
SFCError SetTrigger( SFXBufferConstRef buffer ) (inherits from SFXStreamWriter)
Set the trigger condition that the callback function will be booted up.
SFCError SetTrigger( VoidConstPtr buffer , UInt32 size ) (inherits from SFXStreamWriter)
Set the trigger condition that the callback function will be booted up.
Bool Triggers( Void ) (inherits from SFXStreamWriter)
Check whether or not the callback function is booted up by the trigger condition.
SFCError Write( SFXBufferConstRef buffer ) (inherits from SFXStreamWriter)
Write data onto the stream.
SFCError Write( VoidConstPtr buffer , UInt32 size ) (inherits from SFXStreamWriter)
Write data onto the stream.
Void big( SFXBinaryStreamRef stream ) (inherits from SFXBinaryStream)
Manipulator that sets the endian of this stream to Big-Endian.
Void little( SFXBinaryStreamRef stream ) (inherits from SFXBinaryStream)
Manipulator that sets the endian of this stream to Little-Endian.
Types
CallbackSPP (inherits from SFXStream)
Type that represents the callback function.
EndianEnum (inherits from SFXBinaryStream)
Constants that represent the endian of this stream.
ManipulatorSPP (inherits from SFXBinaryStream)
Type that represents the manipulator of the SFXBinaryStream class.

SFXBinaryStreamWriter::SFXBinaryStreamWriter
Constructor of the SFXBinaryStreamWriter class.
[ public, explicit ]
SFXBinaryStreamWriter(Void);

SFXBinaryStreamWriter::WriteAChar
Write the AChar string onto this stream.
[ public ]
SFCError WriteAChar(
    ACharConstPtr string   // pointer to the string to write
    SInt32 length = -1     // length of the string
);

Argument

string

AChar string for writing.

length

If the length has been set to -1, Write the string till the "\0" (contains "\0").

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If the specified string contains some of the buffer of this stream: SFERR_INVALID_PARAM
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified string is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the string of the AChar type and '\0' at the tail onto the buffer of this binary stream.

If "-1" is specified in the length argument, the string until '\0' (1 byte) of the AChar type specified in the string argument, including '\0', will be written.

[Note] Note

The SFXAnsiStringStreamWriter::WriteAChar function of the string stream will not write '\0' (1 byte) of the AChar type at the tail.

[Note] Note
The SFXBinaryStreamReader::ReadSFXAnsiString function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadSFXAnsiString | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXBinaryStreamWriter::WriteSFXWideString | SFXAnsiStringStreamWriter::WriteAChar | Character Type


SFXBinaryStreamWriter::WriteBool
Write the Bool value onto this stream.
[ public ]
SFCError WriteBool(
    Bool param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the Bool value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadBool function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadBool | Bool Type


SFXBinaryStreamWriter::WriteFloat32
Write the Float32 value onto this stream.
[ public ]
SFCError WriteFloat32(
    Float32 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the Float32 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadFloat32 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadFloat32 | Floating Point Type


SFXBinaryStreamWriter::WriteFloat64
Write the Float64 value onto this stream.
[ public ]
SFCError WriteFloat64(
    Float64 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the Float64 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadFloat64 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadFloat64 | Floating Point Type


SFXBinaryStreamWriter::WriteSFXAnsiString
Write the AChar string onto this stream.
[ public ]
SFCError WriteSFXAnsiString(
    SFXAnsiStringConstRef param   // string
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If the specified string contains some of the buffer of this stream: SFERR_INVALID_PARAM
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified string is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the specified string of the SFXAnsiString type and '\0' (1 byte) of the AChar type at the tail onto the buffer of this binary stream.

[Note] Note

The SFXAnsiStringStreamWriter::WriteSFXAnsiString function of the string stream will not write '\0' (1 byte) of the AChar type at the tail.

[Note] Note
The SFXBinaryStreamReader::ReadSFXAnsiString function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadSFXAnsiString | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXWideString | SFXAnsiStringStreamWriter::WriteSFXAnsiString | SFXAnsiString | Character Type


SFXBinaryStreamWriter::WriteSFXWideString
Write the WChar string onto this stream.
[ public ]
SFCError WriteSFXWideString(
    SFXWideStringConstRef param   // string
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If the specified string contains some of the buffer of this stream: SFERR_INVALID_PARAM
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified string is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the specified string of the SFXWideString type and '\0' (2 byte) of the WChar type at the tail onto the buffer of this binary stream.

[Note] Note

The SFXWideStringStreamWriter::WriteSFXWideString function of the string stream will not write '\0' (2 byte) of the WChar type at the tail.

[Note] Note
The SFXBinaryStreamReader::ReadSFXWideString function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadSFXWideString | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXWideStringStreamWriter::WriteSFXWideString | SFXWideString | Character Type


SFXBinaryStreamWriter::WriteSInt08
Write the SInt08 value onto this stream.
[ public ]
SFCError WriteSInt08(
    SInt08 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the SInt08 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadSInt08 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadSInt08 | Integer Type


SFXBinaryStreamWriter::WriteSInt16
Write the SInt16 value onto this stream.
[ public ]
SFCError WriteSInt16(
    SInt16 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the SInt16 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadSInt16 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadSInt16 | Integer Type


SFXBinaryStreamWriter::WriteSInt32
Write the SInt32 value onto this stream.
[ public ]
SFCError WriteSInt32(
    SInt32 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the SInt32 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadSInt32 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadSInt32 | Integer Type


SFXBinaryStreamWriter::WriteSInt64
Write the SInt64 value onto this stream.
[ public ]
SFCError WriteSInt64(
    SInt64 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the SInt64 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadSInt64 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadSInt64 | Integer Type


SFXBinaryStreamWriter::WriteUInt08
Write the UInt08 value onto this stream.
[ public ]
SFCError WriteUInt08(
    UInt08 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the UInt08 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadUInt08 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadUInt08 | Integer Type


SFXBinaryStreamWriter::WriteUInt16
Write the UInt16 value onto this stream.
[ public ]
SFCError WriteUInt16(
    UInt16 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the UInt16 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadUInt16 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadUInt16 | Integer Type


SFXBinaryStreamWriter::WriteUInt32
Write the UInt32 value onto this stream.
[ public ]
SFCError WriteUInt32(
    UInt32 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the UInt32 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadUInt32 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadUInt32 | Integer Type


SFXBinaryStreamWriter::WriteUInt64
Write the UInt64 value onto this stream.
[ public ]
SFCError WriteUInt64(
    UInt64 param   // value to write
);

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified data is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the UInt64 value onto the buffer of this binary stream.

[Note] Note
The SFXBinaryStreamReader::ReadUInt64 function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadUInt64 | Integer Type


SFXBinaryStreamWriter::WriteWChar
Write the WChar string onto this stream.
[ public ]
SFCError WriteWChar(
    WCharConstPtr string   // pointer to the string to write
    SInt32 length = -1     // length of the string
);

Argument

string

AChar string for writing.

length

If the length has been set to -1, Write the string till the "\0" (contains "\0").

Return value

  • If succeeds: SFERR_NO_ERROR
  • If the stream is not set: SFERR_INVALID_STATE
  • If the specified string contains some of the buffer of this stream: SFERR_INVALID_PARAM
  • If insufficient memory: SFERR_NO_MEMORY
  • If the specified string is bigger than the writable size of the buffer of this buffer: SFERR_FAILED

Description

This function writes the string of the WChar type and '\0' at the tail onto the buffer of this binary stream.

If "-1" is specified in the length argument, the string until '\0' (2 byte) of the WChar type specified in the string argument, including '\0', will be written.

[Note] Note

The SFXAnsiStringStreamWriter::WriteWChar function of the string stream will not write '\0' (1 byte) of the WChar type at the tail.

[Note] Note
The SFXBinaryStreamReader::ReadSFXWideString function performs the reverse operation.

Reference

SFXBinaryStreamReader::ReadSFXWideString | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXBinaryStreamWriter::WriteSFXWideString | SFXWideStringStreamWriter::WriteWChar | Character Type


SFXBinaryStreamWriter::operator<
Write data onto this stream.
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    SFXBufferConstRef right         // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left                 // stream
    SFXBinaryStreamWriter::ManipulatorSPP right   // manipulator
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    SInt08 right                    // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    UInt08 right                    // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    SInt16 right                    // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    UInt16 right                    // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    SInt32 right                    // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    UInt32 right                    // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    SInt64 right                    // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    UInt64 right                    // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    Float32 right                   // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    Float64 right                   // value to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    ACharConstPtr right             // pointer to the string to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    WCharConstPtr right             // pointer to the string to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    SFXAnsiStringConstRef right     // string to write
);
[ public, friend ]
SFXBinaryStreamWriterRef operator<(
    SFXBinaryStreamWriterRef left   // stream
    SFXWideStringConstRef right     // string to write
);

Description

This operator is the inserter (<< operator) to write data specified in the operand onto the buffer of this stream.

In case one of the following errors occurs, no data will be written into this stream, no error value will be returned, and nothing will happen.

  • If the stream is not set: SFERR_INVALID_STATE error
  • If the specified string contains some of the buffer of this stream: SFERR_INVALID_PARAM error
  • If insufficient memory: SFERR_NO_MEMORY error
  • If the data specified in the operand is bigger than the writable size of the buffer of this buffer: SFERR_FAILED error

* The corresponding alternate function below will return the error value above.

[Note] In Case of the String

'\0' will be appended onto the tail of the string.

The Write function or the inserter(<< operator) of the string stream will not append '\0' onto the tail of the string.

Reference

SFXBinaryStreamReader::operator> | SFXBinaryStreamWriter::WriteBool | SFXBinaryStreamWriter::WriteSInt08 | SFXBinaryStreamWriter::WriteSInt16 | SFXBinaryStreamWriter::WriteSInt32 | SFXBinaryStreamWriter::WriteSInt64 | SFXBinaryStreamWriter::WriteUInt08 | SFXBinaryStreamWriter::WriteUInt16 | SFXBinaryStreamWriter::WriteUInt32 | SFXBinaryStreamWriter::WriteUInt64 | SFXBinaryStreamWriter::WriteFloat32 | SFXBinaryStreamWriter::WriteFloat64 | SFXBinaryStreamWriter::WriteAChar | SFXBinaryStreamWriter::WriteWChar | SFXBinaryStreamWriter::WriteSFXAnsiString | SFXBinaryStreamWriter::WriteSFXWideString