User Tools

Site Tools


ftbl:class:kernel:iofile

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()
描述 从文件中读入新的内容到缓存空间中
参数
返回值
ftbl/class/kernel/iofile.txt · Last modified: 2025/05/09 14:46 (external edit)