这次介绍文件操作的移植方案。
文件操作
先是两个类的前置声明。
BStream是数据流接口类。
class BStream;
class BFileStream;
enum BStreamMode {
BStreamModeInvalid = 0x0,
BStreamModeReadOnly = 0x1,
BStreamModeReadWrite = 0x2,
};
typedef BHANDLE BHSTREAM;
#ifndef MAX_PATH
#define MAX_PATH 256
#endif
typedef BULONGLONG BBookmark;
const BBookmark BBOOKMARK_ZERO = { 0, 0 };
class BStream : public BObject{
public:
BStream();
virtual ~BStream();
virtual BULONG Open( const BWCHAR * location , BStreamMode mode );
virtual BULONG Close() ;
virtual BULONG Seek( const BBookmark * bm) = 0;
virtual BULONGLONG Read( BBYTE * buf, BULONGLONG size ) = 0;
virtual BULONGLONG Write( BBYTE * buf, BULONGLONG size ) = 0;
virtual BULONG Flush();
BULONG GetBookmark( BBookmark * bm);
BStreamMode GetMode() const ;
BHSTREAM Handle() const ;
protected:
BHSTREAM m_hs;
};
class BStreamFile : public BStream {
public:
BStreamFile();
virtual ~BStreamFile();
virtual BULONG Open( const BWCHAR * location , BStreamMode mode );
virtual BULONG Close() ;
virtual BULONG Seek( const BBookmark * bm);
virtual BULONGLONG Read( BBYTE * buf, BULONGLONG size ) ;
virtual BULONGLONG Write( BBYTE * buf, BULONGLONG size ) ;
virtual BULONG Flush() ;
};
发表于 @ 2007年03月31日 10:31:00|评论(loading...)|编辑