📄 indata1.h
字号:
// InData1.h: interface for the InData class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_INDATA1_H__B9EA20A8_035D_4353_AE2B_9B59C6CBE32F__INCLUDED_)
#define AFX_INDATA1_H__B9EA20A8_035D_4353_AE2B_9B59C6CBE32F__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define DATA_SIZE 4096
#include <memory.h>
typedef unsigned long uint32;
struct HEAD_INFO
{
uint32 a;
char ch[1024];
HEAD_INFO()
{
a = 0;
memset(ch,'\0',sizeof(ch));
};
};
class InData
{
public:
char* GetData(int& nLen);
InData();
virtual ~InData();
InData &operator <<(unsigned int a)
{
if (cursor <= data + DATA_SIZE - sizeof(a))
{
*(unsigned int *) cursor = a;
cursor += sizeof(a);
}
return *this;
};
InData &operator <<(unsigned long a)
{
if (cursor <= data + DATA_SIZE - sizeof(a))
{
*(unsigned long *) cursor = a;
cursor += sizeof(a);
}
return *this;
};
InData &operator <<(char c)
{
if (cursor <= data + DATA_SIZE - sizeof(c))
{
*(char*)cursor = c;
cursor += sizeof(c);
}
return *this;
};
InData &operator <<(HEAD_INFO& p)
{
unsigned int uiLenght = p.a + 1;
if (cursor + uiLenght <= data + DATA_SIZE - sizeof(uiLenght))
{
*this << uiLenght;
memcpy(cursor, p.ch, uiLenght);
cursor += uiLenght;
}
return *this;
};
unsigned int GetLength();
protected:
char data[DATA_SIZE];
char* cursor;
private:
void ResetData();
};
#endif // !defined(AFX_INDATA1_H__B9EA20A8_035D_4353_AE2B_9B59C6CBE32F__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -