⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 keysearch.cpp

📁 该程序实现了用文件记录变长字节流
💻 CPP
字号:
#include<iostream.h>
#include<fstream.h>
#include<stdlib.h>
#include<iomanip.h>
#include<string.h>
#include"mainfile.h"

element mainsearch(char *p1,char *p2,element &a)
{
	fstream f1(p1,ios::in|ios::out|ios::binary);
if(!f1) {cerr<<"exit error!"<<endl;
exit(1);}
fstream f2(p2,ios::in|ios::out|ios::binary);
if(!f2) {cerr<<"exit error!"<<endl;
exit(1);}
int vl=a.key/10;
f2.seekg(0,ios::end);
int total1=f2.tellg()/b3;
indexnode *A=new indexnode[total1];
f2.seekg(0,ios::beg);
f2.read((char *)A,total1*b2);
int i,k,j,p;
element at;
at.key=0;
strcpy(at.name,"nulltag");
at.deletetag=0;
team ppt;
for(i=0;i<total1;i++)
if(A[i].value==vl)
break;
if(i<total1)
{k=A[i].num;
f1.seekg(k*b2,ios::beg);
f1.read((char *)&ppt,b2);
for(j=0;j<10;j++)
if(ppt.data[j].key==a.key&&ppt.data[j].deletetag==0) 
{at=ppt.data[j];
cout<<at.key<<" "<<at.name<<endl;
cout<<at.rest;
if(ppt.data[j].next!=-1) 
{p=ppt.data[j].next;
cout<<ppt.data[p].rest;}
cout<<endl;
break;}
if(j==15) cout<<"不存在"<<a.key<<"的元素!"<<endl;
}
else
cout<<"不存在"<<a.key<<"的元素"<<endl;
return at;}



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -