IOFile(const char * path = 0)

原型 IOFile(const char * path = 0)
描述 构造IOFile
参数 [i]const char * path = 0: 文件路径
返回值 无

bool open(IOFlag f)

原型 bool open(IOFlag f)
描述 设置文件读写模式并打开文件,此时m_pFp将被赋予一个有效文件指针
参数 [i]IOFlag f: 文件模式,支持四种:二进制读入、二进制写出、文本读入、文本写出
返回值 打开文件成功则返回true,否则返回false

bool isEnd()

原型 bool isEnd()
描述 当读入文件时,判断是否到文件结束位置
参数 无
返回值 到达文件结束位置返回true,否则返回false

void close()

原型 void close()
描述 关闭文件,重置文件指针m_pFp
参数 无
返回值 无

int64 size()

原型 int64 size()
描述 当读入文件时,获取文件大小
参数 无
返回值 文件大小

void writeBinary(void * data,int size)

原型 void writeBinary(void * data,int size)
描述 二进制写出时,将大小为size的数据块data写出
参数 [i]void * data: 数据块地址
[i]int size: 数据块大小
返回值 无

void readBinary(void * data,int size)

原型 void readBinary(void * data,int size)
描述 二进制读入时,读入大小为size的数据块到内存data中
参数 [i]void * data: 有效内存空间
[i]int size: 读入的数据块大小
返回值 无

void writeChar(char c)

原型 void writeChar(char c)
描述 二进制写出时,写出一个字节
参数 [i]char c: 待写出的字节
返回值 无

char readChar()

原型 char readChar()
描述 二进制读入时,读入一个字节
参数 无
返回值 读入的字节

void writeText(const char * data)

原型 void writeText(const char * data)
描述 文本格式输出时,输出字符串
参数 [i]const char * data: 输出的字符串
返回值 无

void readText(const char * data)

原型 void readText(const char * data)
描述 文本格式读入时,读入字符串到内存空间data中
参数 [i]const char * data: 放置字符串的内存空间
返回值 无

void setPath(const char * path)

原型 void setPath(const char * path)
描述 重新设置文件路径
参数 [i]const char * path: 文件路径字符串
返回值 无

int64 getCurPos()

原型 int64 getCurPos()
描述 获取文件当前的位置
参数 无
返回值 文件当前的位置

void setPos(int64 pos)

原型 void setPos(int64 pos)
描述 设置文件当前位置到pos
参数 [i]int64 pos: 文件的目标位置
返回值 无

const char * getPath()

原型 const char * getPath()
描述 获取文件路径
参数 无
返回值 文件路径

BlockHeader * getHeader(bool bKeepPos = true)

原型 BlockHeader * getHeader(bool bKeepPos = true)
描述 获取二进制数据块的块头结构
参数 [i]bool bKeepPos = true: 若保持位置,则读出一个块头结构之后将文件当前位置回位到读出之前的位置,否则将在读出之后的位置
返回值 读出的块头结构指针

DBVersion * getVersion(bool bKeepPos = true)

原型 DBVersion * getVersion(bool bKeepPos = true)
描述 获取二进制数据的块头结构的版本信息
参数 [i]bool bKeepPos = true: 若保持位置,则读出一个版本信息之后将文件当前位置回位到读出之前的位置,否则将在读出之后的位置
返回值 读出的版本信息结构体指针

void startBlock(BlockHeader & header,bool bAuto = true)

原型 void startBlock(BlockHeader & header,bool bAuto = true)
描述 二进制写出模式时,开始一个数据块的输出
参数 [i]BlockHeader & header: 数据块的块头结构
[i]bool bAuto = true: 若为true,则在结束数据块输出时(endblock)自动计算该数据块的大小;否则由调用者自己计算大小
返回值 无

void endBlock(BlockHeader & header,bool bAuto = true)

原型 void endBlock(BlockHeader & header,bool bAuto = true)
描述 二进制文件写出时,结束一个数据块的输出
参数 [i]BlockHeader & header: 数据块的块头结构
[i]bool bAuto = true: 若为真,则自动计算数据块的大小;
返回值 无

ErrorCode readBlockHeader(BlockHeader & header)

原型 ErrorCode readBlockHeader(BlockHeader & header)
描述 二进制文件读入时,开始读入数据块的块头结构。注意,该函数一般与assertBlock配套使用
参数 [i]BlockHeader & header: 块头结构
返回值 根据实际情况返回错误编码,若没有错误返回Error_None

void assertBlock(BlockHeader & header)

原型 void assertBlock(BlockHeader & header)
描述 二进制文件读入时,结束读入数据块,并对数据块大小进行校验
参数 [i]BlockHeader & header: 数据块的块头信息
返回值 无

void skipBlock()

原型 void skipBlock()
描述 二进制文件读入时,根据数据块的大小信息略过该数据块
参数 无
返回值 无

int readInt()

原型 int readInt()
描述 二进制文件读入时,读入一个整型数
参数 无
返回值 读入的整型值

double readDouble()

原型 double readDouble()
描述 二进制文件读入时,读入一个浮点数
参数 无
返回值 读入的浮点数值

char * readName(char * str = 0)

原型 char * readName(char * str = 0)
描述 二进制文件读入时,读入一个名字(为MAX_NAME_LENGTH大小)
参数 [i]char * str = 0: 存放名字的内存空间,可为空
返回值 若存放名字的内存空间为空,则返回读入的名字地址

void writeInt(int v)

原型 void writeInt(int v)
描述 二进制文件写出时,写出一个整型数
参数 [i]int v: 写出的整型数
返回值 无

void writeDouble(double v)

原型 void writeDouble(double v)
描述 二进制文件写出时,写出一个浮点数
参数 [i]double v: 写出的浮点数
返回值 无

void writeName(char * str)

原型 void writeName(char * str)
描述 二进制文件写出时,写出一个名字
参数 [i]char * str: 写出的名字
返回值 无

char * readKeyword()

原型 char * readKeyword()
描述 文本格式读入时,读入一个关键字(大小为32个字节)
参数 无
返回值 关键字字符串

bool isNextKeyword(const char * key = 0)

原型 bool isNextKeyword(const char * key = 0)
描述 文本格式读入时,判断下面是否为指定的关键字
参数 [i]const char * key = 0: 待匹配的关键字,若为0,则匹配任意关键字
返回值 若匹配成功,则返回true,否则返回false;

int readTextInt()

原型 int readTextInt()
描述 文本格式读入时,读入一个整型数(12个字节大小)
参数 无
返回值 读入的整型数值

double readTextDouble()

原型 double readTextDouble()
描述 文本格式读入时,读入一个浮点数(18个字节大小)
参数 无
返回值 读入的浮点数值

bool readTextBool()

原型 bool readTextBool()
描述 文本格式读入时,读入一个bool变量(%-8s)
参数 无
返回值 若为“true”则返回true,否则返回false

void writeTextInt(int v)

原型 void writeTextInt(int v)
描述 文本格式写出时,写出一个整型数(%12d)
参数 [i]int v: 整型数
返回值 无

void writeTextDouble(double v)

原型 void writeTextDouble(double v)
描述 文本格式写出时,写出一个浮点数(%18.9e)
参数 [i]double v: 浮点数
返回值 无

void writeTextBool(bool v)

原型 void writeTextBool(bool v)
描述 文本格式写出时,写出一个bool值(%-8s)
参数 [i]bool v: 若v为true,写出“true”,否则写出“false”
返回值 无

void writeKeyword(char * v)

原型 void writeKeyword(char * v)
描述 文本格式写出时写出一个关键字(@%31s)
参数 [i]char * v: 关键字字符串
返回值 无

void nextLine()

原型 void nextLine()
描述 文本格式写出时,开始新的一行
参数 无
返回值 无

void skipLine()

原型 void skipLine()
描述 文本格式读入时,略过一行
参数 无
返回值 无

void readPath(char * path)

原型 void readPath(char * path)
描述 文本格式读入时,读入文本路径,最大为MAX_PATH_LENGTH.
参数 [i]char * path: 放置文本路径的内存地址
返回值 无

void skipWhite()

原型 void skipWhite()
描述 略过空白字符(回车符、制表符和空格)
参数 无
返回值 无

void skipComment()

原型 void skipComment()
描述 文本格式读入时,略过注释
参数 无
返回值 无

void showProgress()

原型 void showProgress()
描述 向主框架通知当前的读入/写出进度信息,当写出时,需预先计算写出的文件大小
参数 无
返回值 无

void enableBuffer(int size)

原型 void enableBuffer(int size)
描述 开启缓存模式并分配缓存空间,仅在文本格式时有效
参数 [i]int size: 缓存空间大小
返回值 无

void disableBuffer()

原型 void disableBuffer()
描述 关闭缓存模式
参数 无
返回值 无

void resetBuffer()

原型 void resetBuffer()
描述 读入数据内容到缓存空间中
参数 无
返回值 无

void flushBuffer()

原型 void flushBuffer()
描述 将缓存空间内容一次性写出到文件中
参数 无
返回值 无

IOFile & operator « (double v)

原型 IOFile & operator « (double v)
描述 读入文本浮点数的简化函数,同writeTextDouble
参数 [i]double v: 浮点数
返回值 当前IOFile的引用

IOFile & operator « (int v)

原型 IOFile & operator « (int v)
描述 同writeTextInt
参数 [i]int v: 整数
返回值 当前IOFile的引用

IOFile & operator « (ulong v)

原型 IOFile & operator « (ulong v)
描述 同writeTextInt
参数 [i]ulong v: 无符号整数值
返回值 当前IOFile的引用

IOFile & operator « (bool v)

原型 IOFile & operator « (bool v)
描述 同writeTextBool
参数 [i]bool v: bool值
返回值 当前IOFile的引用

IOFile & operator « (char * keyword)

原型 IOFile & operator « (char * keyword)
描述 同writeKeyword
参数 [i]char * keyword: 关键字字符串,最长31个字符
返回值 当前IOFile的引用

IOFile & operator « (IOCharacter c)

原型 IOFile & operator « (IOCharacter c)
描述 文本输出模式时,输出特殊字符。目前只支持NewLine,等同于nextLine
参数 [i]IOCharacter c: 特殊字符,目前只支持NewLine
返回值 当前IOFile的引用

IOFile & operator » (double& v)

原型 IOFile & operator » (double& v)
描述 文本读入模式时,读入浮点数,同readTextDouble
参数 [i]double& v: 读入的浮点数将赋值到v上
返回值 当前IOFile的引用

IOFile & operator » (int& v)

原型 IOFile & operator » (int& v)
描述 文本读入模式时,读入整数,同readTextInt
参数 [i]int& v: 读入的整型数将赋值到v上
返回值 当前IOFile的引用

IOFile & operator » (ulong& v)

原型 IOFile & operator » (ulong& v)
描述 文本读入模式时,读入无符号整数
参数 [i]ulong& v: 读入的无符号整数将赋值到v上
返回值 当前IOFile的引用

IOFile & operator » (bool& v)

原型 IOFile & operator » (bool& v)
描述 文本读入模式时,读入bool值,同readTextDouble
参数 [i]bool& v: 读入的bool值将赋值到v上
返回值 当前IOFile的引用

IOFile & operator » (char * keyword)

原型 IOFile & operator » (char * keyword)
描述 文本读入模式时,读入关键字,同readTextDouble
参数 [i]char * keyword: 读入的关键字将放到keyword中,最长31个有效字符
返回值 当前IOFile的引用

IOFile & operator » (IOCharacter c)

原型 IOFile & operator » (IOCharacter c)
描述 文本读入模式时,读入特殊字符。目前只支持NewLine,等同于skipLine
参数 [i]IOCharacter c: 特殊字符
返回值 当前IOFile的引用

void pumpBuffer()

原型 void pumpBuffer()
描述 从文件中读入新的内容到缓存空间中
参数 无
返回值 无