Files

36 lines
688 B
C
Raw Permalink Normal View History

2026-03-03 13:56:44 +08:00
#pragma once
#include <Windows.h>
#include <vector>
using namespace std;
class ByteBuffer
{
public:
ByteBuffer(unsigned int size = 1024);
virtual ~ByteBuffer(void);
// debug function
void dump();
// <20>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD><EFBFBD>ĩβд<CEB2><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӵ<EFBFBD>С)
bool write(const void* data, unsigned int size);
// <20>ӻ<EFBFBD><D3BB><EFBFBD><EFBFBD><EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>(<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С<EFBFBD><D0A1>С)
bool read(void* data, unsigned int size);
// <20><>ָ<EFBFBD><D6B8>λ<EFBFBD><CEBB>ȡָ<C8A1><D6B8><EFBFBD><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݣ<EFBFBD><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<C4B1><E4BBBA><EFBFBD><EFBFBD>С
bool get(void* data, unsigned int size, unsigned int pos = 0);
// ȡ<>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С(<28><><EFBFBD><EFBFBD><EFBFBD>ݵ<EFBFBD><DDB5>ֽ<EFBFBD><D6BD><EFBFBD>)
size_t size();
protected:
void prevWrite(unsigned int size);
private:
vector<byte> m_buffer;
unsigned int m_curPos;
unsigned int m_curSize;
};