当我们在处理大容量数据文件的时候,往往选择读取数据内容到内存中,当读取的数据内存中数组存放不下,可以生成临时文件来存放溢出的数据。rn
readTempFiel(int a,int b, FILE* fp)
{
for (int i=a,i<b+a;i++)
{
if(fgets(buf[i], fp)==null)
{ return i-a;}
int j=0;
while(1)
{
if(*(buf[i]+j)==0x0D|| *(buf[i]+j)==0x0A)
{ *(buf[i]+j)=0;break;}
else if(*(buf[i]+j)==0x1A|| *(buf[i]+j)==0)
{ (*(buf[i]+j)=0; return i-a;}
j++;
}//end while
}//end for
return i-a;
}
writeTempFile(int a,int b,FILE*fp)
{
int i,j;
j=strlen(buf[i];
if(*(buf[i]+j)==-115)
{ *(buf[i]+j)=0x0A;*(buf[i]+j+1)=0;}
else
{ *(buf[i]+j)=0x0D;*(buf[i]+j+1)=0x0A;*(buf[i]+j+2)=0;}
fputs(buf[i],fp);
}
return i-a;
}
readTempFiel(int a,int b, FILE* fp)
{
for (int i=a,i<b+a;i++)
{
if(fgets(buf[i], fp)==null)
{ return i-a;}
int j=0;
while(1)
{
if(*(buf[i]+j)==0x0D|| *(buf[i]+j)==0x0A)
{ *(buf[i]+j)=0;break;}
else if(*(buf[i]+j)==0x1A|| *(buf[i]+j)==0)
{ (*(buf[i]+j)=0; return i-a;}
j++;
}//end while
}//end for
return i-a;
}
writeTempFile(int a,int b,FILE*fp)
{
int i,j;
j=strlen(buf[i];
if(*(buf[i]+j)==-115)
{ *(buf[i]+j)=0x0A;*(buf[i]+j+1)=0;}
else
{ *(buf[i]+j)=0x0D;*(buf[i]+j+1)=0x0A;*(buf[i]+j+2)=0;}
fputs(buf[i],fp);
}
return i-a;
}