MiniOB 1
MiniOB is one mini database, helping developers to learn how database works.
|
读写日志文件 更多...
#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 |
是否已经读取到文件尾 | |
读写日志文件
这里的名字不太贴切,因为这个类希望管理所有日志文件,而不是特定的某个文件。不过当前 只有一个文件,并且文件名是固定的。
RC CLogFile::init | ( | const char * | path | ) |
初始化
path | 日志文件存放的路径。会打开这个目录下叫做 clog 的文件。 |
RC CLogFile::read | ( | char * | data, |
int | len | ||
) |
读取指定长度的数据。全部读取成功返回成功,否则返回失败
与 write 有类似的问题。如果读取到了文件尾,会标记eof,可以通过eof()函数来判断。
data | 数据读出来放这里 |
len | 读取的长度 |
RC CLogFile::write | ( | const char * | data, |
int | len | ||
) |
写入指定数据,全部写入成功返回成功,否则返回失败
作为日志文件读写的类,实现一个write_log_record可能更合适。
data | 写入的数据 |
len | 数据的长度 |