读书人

将文件指针移动到第n行应该用什么函数

发布时间: 2012-02-13 17:20:26 作者: rapoo

将文件指针移动到第n行应该用什么函数
虽然可能很简单、但也希望大家不要怪我、刚接触到读写文件这个东西
谢谢
是不是fseek这个函数、但是这个位移量确定不好

[解决办法]

FILE *file;
char buf[4096];
long pos=0,n=1000,len=0,i=0;
file=fopen( "filename ", "r ");

while((len=fgets(buf,sizeof(buf),file)> 0)//读取一行数据
{
if(buf[len-1]== '\n ')i++; //看这一次读取是否真正读取的一行
if(i==n)break; //读够n行了,退出,此时的pos就是要定位的位置,
pos=ftell(file);
}

fseek(file,pos,SEEK_SET);//定位到第n行开始的位子.

[解决办法]
没有指定到哪一行的函数,用读取一行来判断,先读取n-1行,数据可以不用处理,然后再读要处理的目标行:第n行.

读书人网 >C语言

热点推荐