本文整理汇总了C++中FileHandle::readPage方法的典型用法代码示例。如果您正苦于以下问题:C++ FileHandle::readPage方法的具体用法?C++ FileHandle::readPage怎么用?C++ FileHandle::readPage使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类FileHandle
的用法示例。
在下文中一共展示了FileHandle::readPage方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: nextRecord
int PageDirectory::nextRecord(FileHandle &fh, RID &rid){
char buffer[PAGE_SIZE];
int pgid = rid.pageNum, slotid = -1;
RecordPage rp;
if (rid.pageNum != 0) {
fh.readPage(rid.pageNum, buffer);
rp = RecordPage(buffer);
if ((slotid = rp.nextRecord(rid.slotNum)) != -1) { // - 1 is current. + 0 is next
rid.slotNum = slotid;
return 0;
}
}
while (1) {
if ((pgid = nextRecordPageID(fh, pgid)) == -1)
return -1;
fh.readPage(pgid, buffer);
rp= RecordPage(buffer);
if ((slotid = rp.nextRecord(0)) != -1) {
rid.pageNum = pgid;
rid.slotNum = slotid;
return 0;
}
}
return -1;
}
示例2: moveToNext
int PageDirectory::moveToNext(FileHandle &fh){
assert(get_next() != 0);
assert(get_pgnum() == PageDirectory::MaximunEntryNum());
fh.writePage(in_the_page, data);
in_the_page = get_next();
fh.readPage(in_the_page, data);
return in_the_page;
}