1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
|
/*
* Modification History
*
* 2002-August-1 Jason Rohrer
* Created.
*
* 2004-May-9 Jason Rohrer
* Added function for getting data as a byte array.
*/
#include "minorGems/util/StringBufferOutputStream.h"
StringBufferOutputStream::StringBufferOutputStream()
: mCharacterVector( new SimpleVector<unsigned char>() ) {
}
StringBufferOutputStream::~StringBufferOutputStream() {
delete mCharacterVector;
}
char *StringBufferOutputStream::getString() {
int numChars = mCharacterVector->size();
char *returnArray = new char[ numChars + 1 ];
for( int i=0; i<numChars; i++ ) {
returnArray[i] = (char)( *( mCharacterVector->getElement( i ) ) );
}
returnArray[ numChars ] = '\0';
return returnArray;
}
unsigned char *StringBufferOutputStream::getBytes( int *outNumBytes ) {
*outNumBytes = mCharacterVector->size();
return mCharacterVector->getElementArray();
}
long StringBufferOutputStream::write( unsigned char *inBuffer,
long inNumBytes ) {
for( int i=0; i<inNumBytes; i++ ) {
mCharacterVector->push_back( inBuffer[ i ] );
}
return inNumBytes;
}
|