xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 97KB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發(fā)布日期: 2021-06-02
  • 語(yǔ)言: C/C++
  • 標(biāo)簽: c++??sql??

資源簡(jiǎn)介

c++實(shí)現(xiàn)的sql基本功能 Linux,win下可運(yùn)行 c++實(shí)現(xiàn)的sql基本功能 Linux,win下可運(yùn)行

資源截圖

代碼片段和文件信息


#include?“stdafx.h“
#include?“buffer_manager.h“

using?namespace?std;

//CBufferManager?m_ptheblocks[MAX_BLOCKS];
CBufferManager*?CBufferManager::m_ptheblocks?=?NULL;


/*初始化buffer區(qū),但不分配內(nèi)存*/
void?CBufferManager::initiate_blocks()
{
unsigned?int?i;
m_ptheblocks?=?new?CBufferManager?[MAX_BLOCKS];
for(i=0;i m_ptheblocks[i].m_address?=?NULL;
m_ptheblocks[i].m_index_table=0;
m_ptheblocks[i].m_is_written=0;
m_ptheblocks[i].m_being_used=0;
m_ptheblocks[i].m_count=0;
}
}

/*退出時(shí)調(diào)用,將所有需要寫回的塊數(shù)據(jù)寫回相應(yīng)文件,并釋放buffer區(qū)*/
void?CBufferManager::flush_all_blocks(){???
for(int?i=0;i m_ptheblocks[i].flush_block();
if(m_ptheblocks[i].m_address?!=?NULL)
delete?[]?m_ptheblocks[i].m_address;
}
}

/*使用塊函數(shù),buffer內(nèi)部函數(shù)*/
void?CBufferManager::using_block(unsigned?int?number)
{
unsigned?int?i;
m_ptheblocks[number].m_being_used=1;
for(i=0;i if(i!=number?&&?!m_ptheblocks[number].m_being_used)
m_ptheblocks[i].m_count++;??//所有沒(méi)正在使用的塊count加1
else?if(i==number)
m_ptheblocks[i].m_count=0;??//正在使用的塊count置0,使正在被使用的塊不被換出
}
}

/*找到count值最大的塊號(hào)(即近似LRU算法中要求替換出的塊),buffer內(nèi)部函數(shù)*/
unsigned?int?CBufferManager::max_count_number()
{
unsigned?int?i;
unsigned?int?max_count=m_ptheblocks[0].m_count;
unsigned?int?block_number=0;
for(i=0;i if(m_ptheblocks[i].m_count>max_count){
max_count=m_ptheblocks[i].m_count;
block_number=i;
}
return?block_number;
}

/*若該塊需要寫回,將該塊的數(shù)據(jù)寫回相應(yīng)文件,換出時(shí)和退出時(shí)調(diào)用buffer內(nèi)部函數(shù)*/
void?CBufferManager::flush_block()
{
FILE?*fp;
if(m_is_written?&&?m_index_table)?{
if(fp=fopen((LPCTSTR)m_name“rb+“)){??
fseek(fpBLOCK_SIZE*m_offset_number0);
fwrite(m_addressBLOCK_SIZE1fp);
fclose(fp);
}
}
}

/*為record?manager和index?manager提供塊(寫),在其初始建立時(shí)調(diào)用*/
unsigned?int?CBufferManager::get_blank_block(short?int?index_table)
{
unsigned?int?number;
unsigned?int?i;
char?*p;
for(i=0;i if(!m_ptheblocks[i].m_index_table?&&?!m_ptheblocks[i].m_being_used)
break;
if(i number=i;
m_ptheblocks[number].m_address?=?new?char?[BLOCK_SIZE];

????????for(p=m_ptheblocks[number].m_address;p ???*p=‘$‘;
}
else{?//表示無(wú)空塊,須判斷換出哪個(gè)塊和是否有必要寫回文件
number=max_count_number();
m_ptheblocks[number].flush_block();
}
using_block(number);
m_ptheblocks[number].m_index_table=index_table;
return?number;
}

/*為record?manager和index?manager提供塊(讀或改)若在buffer中找不到則調(diào)用get_blank_block為其分配空間并做標(biāo)記*/
unsigned?int?CBufferManager::get_block(short?int?index_table?CString?filename?unsigned?int?offset_number)
{
FILE?*fp;
unsigned?int?number;
unsigned?int?imark;

for(i=0;i if(m_ptheblocks[i].m_index_table==index_table?&&?m_ptheblocks[i].m_name?==?filename?&&?
m_ptheblocks[i].m_offset_number==offset_number)?{?//表示在buffer中找到了該塊
number=i;
using_block(number);
return

?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-04-22?10:17??MiniSQL\
?????文件????????2685??2005-01-12?01:56??MiniSQL\catalog_manager.h
?????目錄???????????0??2018-04-22?11:09??__MACOSX\
?????目錄???????????0??2018-04-22?11:09??__MACOSX\MiniSQL\
?????文件?????????175??2005-01-12?01:56??__MACOSX\MiniSQL\._catalog_manager.h
?????文件???????37447??2005-01-13?02:49??MiniSQL\interpret.cpp
?????文件?????????175??2005-01-13?02:49??__MACOSX\MiniSQL\._interpret.cpp
?????文件????????1457??2005-01-09?13:26??MiniSQL\MiniSQL.rc
?????文件?????????175??2005-01-09?13:26??__MACOSX\MiniSQL\._MiniSQL.rc
?????文件????????1106??2005-01-07?12:47??MiniSQL\StdAfx.h
?????文件?????????175??2005-01-07?12:47??__MACOSX\MiniSQL\._StdAfx.h
?????文件????????3599??2005-01-09?21:40??MiniSQL\buffer_manager.cpp
?????文件?????????175??2005-01-09?21:40??__MACOSX\MiniSQL\._buffer_manager.cpp
?????文件????????1251??2005-01-09?10:39??MiniSQL\index_manager.h
?????文件?????????175??2005-01-09?10:39??__MACOSX\MiniSQL\._index_manager.h
?????文件???????19591??2005-01-09?10:59??MiniSQL\catalog_manager.cpp
?????文件?????????175??2005-01-09?10:59??__MACOSX\MiniSQL\._catalog_manager.cpp
?????文件???????14825??2005-01-13?01:10??MiniSQL\record_manager.cpp
?????文件?????????175??2005-01-13?01:10??__MACOSX\MiniSQL\._record_manager.cpp
?????文件??????107520??2005-01-13?05:09??MiniSQL\MiniSQL.ncb
?????文件?????????175??2005-01-13?05:09??__MACOSX\MiniSQL\._MiniSQL.ncb
?????文件????????1229??2005-01-09?13:46??MiniSQL\buffer_manager.h
?????文件?????????175??2005-01-09?13:46??__MACOSX\MiniSQL\._buffer_manager.h
?????文件??????192576??2005-01-13?04:53??MiniSQL\MiniSQL.exe
?????文件?????????175??2005-01-13?04:53??__MACOSX\MiniSQL\._MiniSQL.exe
?????文件????????2985??2005-01-13?04:51??MiniSQL\MiniSQL.h
?????文件?????????175??2005-01-13?04:51??__MACOSX\MiniSQL\._MiniSQL.h
?????文件?????????748??2005-01-09?12:41??MiniSQL\record_manager.h
?????文件?????????175??2005-01-09?12:41??__MACOSX\MiniSQL\._record_manager.h
?????文件???????????8??2007-11-10?18:22??MiniSQL\tables.catlog
?????文件?????????175??2007-11-10?18:22??__MACOSX\MiniSQL\._tables.catlog
............此處省略26個(gè)文件信息

評(píng)論

共有 條評(píng)論