二进制文件BinFile类
enum Access{IN,OUT,INOUT}; //访问文件的几种方式enum SeekType{BEG,CUR,END}; //移动文件指针的几种方式
class BinFile
{ private:
fstream f;
Access accessType;
String fname;
int fileOpen; //文件是否被打开
void Error(char *msg); //错误信息输出并退出程序
public:
BinFile(const String& filename,Access atype = OUT);
~BinFile(void);
BinFile(BinFile<T> & bf); //复制构造函数
void Clear(void); //删除文件中的记录(文件处于打开状态)
void Delete(void); //关闭并删除文件(物理删除)
void Close(void);//关闭文件
int EndFile(); //是否已到文件尾
long Size(); //返回文件中记录个数
void Reset(void); //重置文件指针到第一个记录
void Seek(long pos,SeekType mode); //允许对文件指针进行重定位,mode指明以文件头、当前位置还是以文件尾为基准将文件指针移动pos个记录
int Read(T *A,int n); //读入n个数据值的数据块到地址A
void Write(T *A,int n); //从地址A写入n个数据值的数据块到文件
T Peek(void); //当前位置的记录值
void Write(const T& data,long pos); //拷贝数据到文件中第pos个记录
T Read(long pos); //读入文件中第pos个记录
void Append(T item); //往文件尾部追加一个记录
};
编辑尊龙国际娱乐城:http://www.