fseek函数,文件指针定位

while(fgets(tbuf,sizeof(tbuf),fp1)!=NULL){p=strstr(tbuf,wbuf);if(p!=NULL){m=-2L*(size... while ( fgets (tbuf, sizeof(tbuf), fp1) !=NULL){
p=strstr(tbuf,wbuf);
if(p !=NULL){
m=-2L*(sizeof(tbuf));
fseek(fp1,m,1);
fgets(tbuf,sizeof(tbuf),fp1);
printf("%s\n",tbuf);
fgets(tbuf,sizeof(tbuf),fp1);
printf("%s\n",tbuf);
fgets(tbuf,sizeof(tbuf),fp1);
printf("%s\n",tbuf);
printf("$$$$$$$$$$$$$$$$$\n");
}
}
部分程序如上,在fp1所指的文件中每次取一行,然后在这一行查找wbuf中关键字,若找到则将文件指针fp1上移两行。然后输出三行。。。

程序运行结果是从关键字的下面一行开始输出三行(好像fseek没起作用)
展开
 我来答
天蝎神经侠侣
高粉答主

推荐于2018-04-12 · 关注我不会让你失望
知道大有可为答主
回答量:7533
采纳率:67%
帮助的人:690万
展开全部
fseek(fp1,m,1);把文件内部指针移动到离文件开头m字节处
第二个参数m偏移量,第三个参数1表示当前位置
它表示偏移量,如果m超过1行的长度,只会回到行首,你要将文件指针fp1上移两行不能用这个函数

fseek,是用于二进制方式打开的文件,移动文件读写指针位置,通常文件打开后,读写位置按先后顺序。fseek函数是设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。fseek函数和lseek函数类似,但lseek返回的是一个off_t数值,而fseek返回的是一个整型。
HKRichest
2011-05-27 · TA获得超过3728个赞
知道小有建树答主
回答量:1082
采纳率:0%
帮助的人:1412万
展开全部
fseek(fp1,m,1);把文件内部指针移动到离文件开头m字节处
第二个参数m偏移量,第三个参数1表示当前位置
它表示偏移量,如果m超过1行的长度,只会回到行首,你要将文件指针fp1上移两行不能用这个函数
追问
我的目的是让它从当前位置向上(-)移动m个单元,即上跳两行。我应该怎么用呢??先谢谢您
函数设置文件指针fp1的位置。如果执行成功,fp1将指向以fromwhere(偏移起始位置:文件头0,当前位置1,文件尾2)为基准,偏移m(指针偏移量)个字节的位置???
追答
读文件,文件指针也就移动了,想定位到第几行,就读到第几行就可以了
好象没有直接把指针移动若干行的函数
你可以设置一个标志,标志回车换行后的位置set=1,2,3,记住每次1,2指针的位置,用临时变量,读到3时(当前位置)如果有关键字则把指针指向1的位置。交替,用2个临时变量就OK了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
齐霸王在江湖梦
2015-06-28 · TA获得超过3312个赞
知道小有建树答主
回答量:726
采纳率:75%
帮助的人:61.4万
展开全部
fseek(fp1,m,1);把文件内部指针移动到离文件开头m字节处
第二个参数m偏移量,第三个参数1表示当前位置
它表示偏移量,如果m超过1行的长度,只会回到行首,你要将文件指针fp1上移两行不能用这个函数
追问:
我的目的是让它从当前位置向上(-)移动m个单元,即上跳两行。我应该怎么用呢??先谢谢您
函数设置文件指针fp1的位置。如果执行成功,fp1将指向以fromwhere(偏移起始位置:文件头0,当前位置1,文件尾2)为基准,偏移m(指针偏移量)个字节的位置???
追答:
读文件,文件指针也就移动了,想定位到第几行,就读到第几行就可以了
好象没有直接把指针移动若干行的函数
你可以设置一个标志,标志回车换行后的位置set=1,2,3,记住每次1,2指针的位置,用临时变量,读到3时(当前位置)如果有关键字则把指针指向1的位置。交替,用2个临时变量就OK了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laokua70
2011-05-27 · 贡献了超过224个回答
知道答主
回答量:224
采纳率:0%
帮助的人:0
展开全部
(2).fseek:移动文件位置指针到指定的位置,接着的读写将从此位置开始。 rewind TAG:文件,ANSI C文件处理函数,文件定位函数,rewind函数TEXT:rewind函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式