// 声明
class CCycleBuffer
{
public:
BOOL isFull();
BOOL isEmpty();
void Empty();
int GetLength();
CCycleBuffer(int size);
virtual ~CCycleBuffer();
int Write(char* buf, int count);
int Read(char* buf, int count);
private:
BOOL m_bEmpty, m_bFull;
char * m_pBuf;
int m_nBufSize;
int m_nReadPos;
int m_nWritePos;
};
// 定义
CCycleBuffer::CCycleBuffer(int size)
{
m_nBufSize = size;
m_nReadPos = 0;
m_nWritePos = 0;
m_pBuf = new char[m_nBufSize];
m_bEmpty = TRUE;
m_bFull = FALSE;
}
CCycleBuffer::~CCycleBuffer()
{
delete[] m_pBuf;
}
/************************************************************************/
/* 向缓冲区写入数据,返回实际写入的字节数 */
/************************************************************************/
int CCycleBuffer::Write(char* buf, int count)
{
if(count <= 0) return 0;
m_bEmpty = FALSE;
// 缓冲区已满,不能继续写入
if(m_bFull)
{
return 0;
}
else if(m_nReadPos == m_nWritePos) // 缓冲区为空时
{
/* == 内存模型 ==
(empty) m_nReadPos (empty)
|----------------------------------|-----------------------------------------|
&
孢子2生物进化中文版(Spores)
孢子2生物进化中文版让我们来做一回疯狂的博士,打造一个属于自
叫我万岁爷九游官方版
叫我万岁爷带你体验当换地点感觉,全新的模拟手游大作让你开始一
梦回凤歌
梦回凤歌手游中你将步入古代的宫廷纷争之中,本想度过美好幸福的
洋果子店rose最新版本
洋果子店最新版是一款十分容易让人垂涎的开店经营类手游。游戏玩
明日大亨最新版
明日大亨手游,一个非常经典有趣的模拟经营类型的商战手游,在游