|
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 | 数据的长度 |