mybarray.cpp

来自「读取oracle的blob数据. 数据库连接以ODBC连接.」· C++ 代码 · 共 90 行

CPP
90
字号
// MyBArray.cpp: implementation of the CMyByteArray class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MyBArray.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CMyByteArray::CMyByteArray()
{
	m_buffer = NULL;
	m_data_length = 0;
	m_buffer_length = 0;
}

CMyByteArray::~CMyByteArray()
{
	if (m_buffer)
	{
		delete m_buffer;
	}
}


int CMyByteArray::GetDataSize()
{
	return m_data_length;
}

int CMyByteArray::GetBufferSize()
{
	return m_buffer_length;
}

void * CMyByteArray::GetData()
{
	if (!m_buffer)  return NULL;

	return m_buffer;
}

BOOL CMyByteArray::SetBufferSize(int nSize)
{
	if (nSize == m_buffer_length) return TRUE;
	if (nSize<0)
	{
		AfxMessageBox("负的缓冲区大小");
		return FALSE;
	}
	
	if (m_buffer) delete m_buffer;

	m_buffer = NULL;
	m_data_length = 0;
	m_buffer_length = 0;

	if (nSize==0) return TRUE;

	m_buffer = new char [nSize];

	if (!m_buffer) return FALSE;

	m_buffer_length = nSize;

	m_data_length = 0;

	return TRUE;

}
BOOL CMyByteArray::SetDataSize(int nSize)
{
	if (nSize>m_buffer_length)
	{
		if (!SetBufferSize(nSize) ) return FALSE;
	}

	m_data_length = nSize;
	
	return TRUE;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?