wcpackage.h

来自「模拟手机源程序,做短信系统(源码)」· C头文件 代码 · 共 61 行

H
61
字号

#ifndef __CPACKAGE_H__
#define __CPACKAGE_H__

#define BUFFERSIZE	4096

#define FINISH			1
#define NOFINISH		2

#define NODATA			0

#define BOOL	int
#define TRUE	1
#define FALSE	0
//类CPackage主要处理协议包的分割、拆包和组包操作

class CPackage   {
private:
	char m_cDeli;

	void Encode(char* szBuf);
	void Decode(char* szBuf);
	int FindDeli(char* szBuf, int* bFinish);
	int FindDeli(char* szBuf, int* bFinish, char cDeli);
	void StrPack(char* szSour, int nLen);
	int PackageEnd(char* szBuff, int* nLen);
	int FindFinish(char* szBuff, int nLen, int* nPos);
	char* StrnCpy(char* szDest, char* szSour, int nLen);
public:
	CPackage()   { m_cDeli = ' '; };
	CPackage(char cDeli)   { m_cDeli = cDeli; };

	void PushInt(char* szBuf, long lValue);
	void PushChar(char* szBuf, char cC);
	void PushStr(char* szBuf, char* szStr);
	void PushFloat(char* szBuf, double dValue);
	int PullInt(char* szBuf, long* lValue);
	int PullChar(char* szBuf, char* cC);
	int PullStr(char* szBuf, char* szStr, int nBufferSize);
	int PullFloat(char* szBuf, double* lValue);

	void PushInt(char* szBuf, long lValue, char cDeli);
	void PushChar(char* szBuf, char cC, char cDeli);
	void PushStr(char* szBuf, char* szStr, char cDeli);
	void PushFloat(char* szBuf, double dValue, char cDeli);
	int PullInt(char* szBuf, long* lValue, char cDeli);
	int PullChar(char* szBuf, char* cC, char cDeli);
	int PullStr(char* szBuf, char* szStr, int nBufferSize, char cDeli);
	int PullFloat(char* szBuf, double* lValue, char cDeli);

	void Trim(char* szStr);
	void TrimNewLine(char* szStr);

	void InitBuf(char* szBuf);
	void SetPackageEnd(char* szBuf);

	BOOL GetPackage(char* szSour, char* szDest);

};
#endif

⌨️ 快捷键说明

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