memlink.h
来自「内存管理程序」· C头文件 代码 · 共 70 行
H
70 行
#ifndef _MEMLINK_H_
#define _MEMLINK_H_
//数据缓冲结构
struct MEMLINK{
char *pBuffer;//数据指针
int nBuflen;//长度
MEMLINK *next;//下一结构
};
#include "memmgr.h"
class memlink
{
/*缓存数据的结构*/
public:
memlink();
virtual ~memlink();
public:
//释放资源并初始化
void Close();
//加入数据
void Append(char *data,int datalen);
//链表是否为空
BOOL IsEmpty(){return m_pHead==NULL;}
//节点长度
int GetMemLinkLen(){return m_length;}
//节点长度
int GetDataLen(){return m_datalen;}
//头指针
MEMLINK *Head(){return m_pHead;}
private:
//头指针,尾指针
MEMLINK *m_pHead,*m_pLast;
//节点长度
int m_length;
//数据长度
int m_datalen;
};
inline void memlink::Append(char *data,int datalen)
{
if(datalen<=0)
return;
MEMLINK *p =(MEMLINK*)MyMemAlloc(sizeof(MEMLINK));
p->nBuflen = datalen;
p->next = NULL;
p->pBuffer = (char*)MyMemAlloc(datalen);
memcpy(p->pBuffer,data,datalen);
p->pBuffer[datalen] = '\0';
if(m_pLast)
{
m_pLast->next = p;
m_pLast = p;
}
else
{
m_pHead = m_pLast = p;
}
m_length++;
m_datalen += datalen;
}
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?