📄 pqbytearray.cpp
字号:
// File name: $Workfile: pqbytearray.cpp $
// Last modified: $Modtime: 9/21/00 8:51a $
// Last modified by: $Author: Bill $
//
// VCS archive path: $Archive: /Hank/DMM/FirmWare/Level3/ObDatMgr/pqbytearray.cpp $
// VCS revision: $Revision: 7 $
#include "PQDIF_classes.h"
CPQByteArray::CPQByteArray()
{
m_data = NULL;
m_size = 0;
m_max = 0;
m_growBy = 64;
}
CPQByteArray::~CPQByteArray()
{
if( m_data )
{
free( m_data );
}
}
bool CPQByteArray::SetSize( int NewSize, int GrowBy )
{
if( GrowBy > 0 )
m_growBy = GrowBy;
// Grow?
if( NewSize > m_max )
{
int max = (( NewSize/m_growBy ) + 1)*m_growBy;
BYTE * data = (BYTE *) realloc( (void *) m_data, max );
if( data != NULL || max == 0 )
{
m_data = data;
m_size = NewSize;
m_max = max;
}
}
else
{
m_size = NewSize;
}
return ( m_size == NewSize );
}
int CPQByteArray::Add( BYTE value )
{
int pos = m_size;
if( SetSize( m_size + 1 ) )
{
m_data[ pos ] = value;
return pos;
}
else
{
return -1;
}
}
int CPQByteArray::Append( BYTE * values, int count )
{
int pos = m_size;
if( SetSize( m_size + count, m_growBy ) )
{
memcpy( m_data + pos, values, count );
return pos;
}
else
{
return -1;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -