Exemplo n.º 1
0
bool File::GetPage(int index, Page &page) {
    if (index > page_num_) {
        return false;
    }

    fseek(f_, (index-1)*Page::PAGE_NUM*sizeof(int), SEEK_SET);
    int buffer[Page::PAGE_NUM];
    int result = fread(buffer, sizeof(int), Page::PAGE_NUM, f_);
    for (int i = 0; i < result; i ++) {
        page.Push((int)buffer[i]);
    }

    return true;
}