⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pqbytearray.cpp

📁 电能质量交换格式转换库
💻 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 + -