c++如何实现文件指针从文件末尾后退任意行?
3个回答
展开全部
用fseek(fp,0L,SEEK_END);将文件指针移至末尾,然后把文件指针逐字符前移,读到一个换行符就表示后退一行。
//伪代码
fseek(fp,0L,SEEK_END);
int last=ftell(fp);
int linenum=0;
for(count=1L;count<=last;count++)
{
fseek(fp,-count,SEEK_END);
ch=getc(fp);
if(ch=='\n')
{
linenum++;
if(linenum>=欲后退行数)
break;
}
}
//伪代码
fseek(fp,0L,SEEK_END);
int last=ftell(fp);
int linenum=0;
for(count=1L;count<=last;count++)
{
fseek(fp,-count,SEEK_END);
ch=getc(fp);
if(ch=='\n')
{
linenum++;
if(linenum>=欲后退行数)
break;
}
}
来自:求助得到的回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询