imgetfriendlistresp.cpp
来自「国内著名嵌入式培训机构内部资料,内含一些实例代码,包括技术专题书籍」· C++ 代码 · 共 67 行
CPP
67 行
/*
============================================================================
Author : hou maoqing
Version : 1.0
Copyright : Copyright (c) Hou maoqing 2008
Mail : houmqing@163.com
============================================================================
*/
#include "ImGetFriendListResp.h"
#include "ImPublic.h"
CImGetFriendListResp::CImGetFriendListResp()
{
m_nFriendCount=0;
m_pUserAcc=NULL;
m_pStatus=NULL;
}
CImGetFriendListResp::~CImGetFriendListResp()
{
if(m_pUserAcc)
delete m_pUserAcc;
if(m_pStatus)
delete m_pStatus;
}
int CImGetFriendListResp::GetBodyLen(void)
{
return 4+10*m_nFriendCount+4*m_nFriendCount;
}
void CImGetFriendListResp::Encode(TUint8* pBuf, int& nLen)
{
TUint8* pTemp=pBuf;
int tmp=HostToNet(m_nFriendCount);
memcpy(pTemp,(void*)&tmp,4);
pTemp+=4;
memcpy(pTemp,m_pUserAcc,10*m_nFriendCount);
pTemp+=10*m_nFriendCount;
memcpy((void*)pTemp,(void*)m_pStatus,4*m_nFriendCount);
pTemp+=4*m_nFriendCount;
nLen=GetBodyLen();
}
void CImGetFriendListResp::Decode(TUint8* pBuf)
{
//解码消息头
TUint8* pTemp=pBuf;
int tmp;
memcpy((void*)&tmp,pTemp,4);
m_nFriendCount=NetToHost(tmp);
pTemp+=4;
m_pUserAcc=new (ELeave) TUint8[10*m_nFriendCount];
memcpy(m_pUserAcc,pTemp,10*m_nFriendCount);
pTemp+=10*m_nFriendCount;
m_pStatus=new (ELeave) int[m_nFriendCount];
memcpy(m_pStatus,pTemp,4*m_nFriendCount);
pTemp+=4*m_nFriendCount;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?