MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
载入中...
搜索中...
未找到
Public 成员函数 | Protected 属性 | 所有成员列表
CLogFile类 参考

读写日志文件 更多...

#include <clog.h>

Public 成员函数

RC init (const char *path)
 初始化 更多...
 
RC write (const char *data, int len)
 写入指定数据,全部写入成功返回成功,否则返回失败 更多...
 
RC read (char *data, int len)
 读取指定长度的数据。全部读取成功返回成功,否则返回失败 更多...
 
RC sync ()
 将当前写的文件执行sync同步数据到磁盘
 
RC offset (int64_t &off) const
 获取当前读取的文件位置
 
bool eof () const
 当前是否已经读取到文件尾
 

Protected 属性

std::string filename_
 日志文件名。总是init函数参数path路径下的clog文件
 
int fd_ = -1
 操作的文件描述符
 
bool eof_ = false
 是否已经读取到文件尾
 

详细描述

读写日志文件

这里的名字不太贴切,因为这个类希望管理所有日志文件,而不是特定的某个文件。不过当前 只有一个文件,并且文件名是固定的。

成员函数说明

◆ init()

RC CLogFile::init ( const char *  path)

初始化

参数
path日志文件存放的路径。会打开这个目录下叫做 clog 的文件。

◆ read()

RC CLogFile::read ( char *  data,
int  len 
)

读取指定长度的数据。全部读取成功返回成功,否则返回失败

与 write 有类似的问题。如果读取到了文件尾,会标记eof,可以通过eof()函数来判断。

参数
data数据读出来放这里
len读取的长度

◆ write()

RC CLogFile::write ( const char *  data,
int  len 
)

写入指定数据,全部写入成功返回成功,否则返回失败

作为日志文件读写的类,实现一个write_log_record可能更合适。

注解
如果日志文件写入一半失败了,应该做特殊处理,但是这里什么都没管。
参数
data写入的数据
len数据的长度

该类的文档由以下文件生成: