qbuffer.h
来自「pixil 最新的嵌入linux 應用程序集,別的地方很難下載」· C头文件 代码 · 共 60 行
H
60 行
#ifndef __QBUFFER_H#define __QBUFFER_H#include "qiodevice.h"class QByteArray{ protected: const char * m_Buffer; unsigned int m_nSize; public: QByteArray () { m_Buffer = 0; m_nSize =0 ;} ~QByteArray() { delete [] m_Buffer; } QByteArray(const QByteArray & a) { m_Buffer =0; m_nSize=0; if(a.buffer() && a.length()) assign(a.buffer(),a.length()); } QByteArray & assign(const char * a, unsigned int n) { if(m_Buffer) delete [] m_Buffer; m_Buffer = new char [n]; memcpy((char*)m_Buffer,a,n); m_nSize = n; return *this; } unsigned int length() const { return m_nSize; } const char * buffer() const { return m_Buffer; }};class QBuffer : public QIODevice{ protected: QByteArray m_Buffer; public: QBuffer() { } QBuffer(const QBuffer & b) : m_Buffer(b.m_Buffer) { } virtual ~QBuffer() { } virtual int readBlock(char * data, unsigned int maxlen) { unsigned int len = (m_Buffer.length() > maxlen ? maxlen : m_Buffer.length()); memcpy(data,m_Buffer.buffer(),len ); return len; } virtual int writeBlock( const char * data, unsigned int len) { m_Buffer.assign(data,len); return 0; } QByteArray buffer() const { return m_Buffer; }};#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?