免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 20377 | 回复: 78
打印 上一主题 下一主题

请问:怎么从某一确定的行开始读文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-07 09:32 |只看该作者 |倒序浏览
比如从第10行开始读?
谢谢

论坛徽章:
0
2 [报告]
发表于 2007-04-07 09:54 |只看该作者
C里面不是有一个对文件进行移位的涵数吗?
如果再不行就要笨一点用fgets(), 因为这个涵数是每次读取一行.
你设的buffer要足够的大.

for(10次)
{

fgets(放入buffer);
清空buffer;


}

论坛徽章:
0
3 [报告]
发表于 2007-04-07 09:57 |只看该作者

回复 2楼 linuxcici 的帖子

fgets 可以指定最大行长。

论坛徽章:
0
4 [报告]
发表于 2007-04-07 10:13 |只看该作者
LZ提出的问题也是常见滴....看看还有那些伙们弄个运行时间短一点的方法....

论坛徽章:
0
5 [报告]
发表于 2007-04-07 10:17 |只看该作者
原帖由 linuxcici 于 2007-4-7 09:54 发表
C里面不是有一个对文件进行移位的涵数吗?
如果再不行就要笨一点用fgets(), 因为这个涵数是每次读取一行.
你设的buffer要足够的大.

for(10次)
{

fgets(放入buffer);
清空buffer;


}

论坛徽章:
0
6 [报告]
发表于 2007-04-07 10:20 |只看该作者
不如直接 getchar() 并判断,这样还可以省栈空间。
那个检索函数不能判断行数。

论坛徽章:
0
7 [报告]
发表于 2007-04-07 10:21 |只看该作者
原帖由 soul_of_moon 于 2007-4-7 10:17 发表






这位大哥.小弟菜嘛...

fgets()每次读入一行就会指向下一行. 所以把前面10行读进去了就清除. 然后下一次fgets()就是第十一行了.
你有更好的办法么? 请贴出来可以么? 嘻嘻~~

论坛徽章:
0
8 [报告]
发表于 2007-04-07 10:23 |只看该作者
原帖由 linuxcici 于 2007-4-7 10:21 发表





这位大哥.小弟菜嘛...

fgets()每次读入一行就会指向下一行. 所以把前面10行读进去了就清除. 然后下一次fgets()就是第十一行了.
你有更好的办法么? 请贴出来可以么? 嘻嘻~~

fgets()怎么每次都是读一行?你怎么设定?

论坛徽章:
0
9 [报告]
发表于 2007-04-07 10:36 |只看该作者
原帖由 soul_of_moon 于 2007-4-7 10:23 发表

fgets()怎么每次都是读一行?你怎么设定?



把fgets() 里的buffer设得足够大不就OK了? 我半年前做过是这样子的呢.
半年没有写过C代码和看书了,书还在学校......哎...那请问你是怎么搞的呢?

论坛徽章:
0
10 [报告]
发表于 2007-04-07 11:03 |只看该作者
原帖由 linuxcici 于 2007-4-7 10:36 发表



把fgets() 里的buffer设得足够大不就OK了? 我半年前做过是这样子的呢.
半年没有写过C代码和看书了,书还在学校......哎...那请问你是怎么搞的呢?

buffer设得足够大
------------------------
这不是好习惯
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP