24小时热门版块排行榜    

查看: 1455  |  回复: 4
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

shugq_2009

新虫 (小有名气)

[交流] 【求助】怎么从一个文件中读取其中某些行的数据

原来我编的程序是提取一个文件中所有的数据,现在因为只需要读取其中的某行到某行,可以用程序实现吗?下面是我原来编的提取一个文件中数据的部分程序,望大侠赐教
FILE *fp;
if((fp=fopen("dump40.melt","r")==NULL)
  { printf("cannot open the file";
        exit(0);
        }
char ch;
ch=fgetc(fp);
while(ch!=EOF)
{
  if(ch=='\n')  n++;
  if(n==5)
      { for(i=0;i<6;i++)
        fscanf(fp,"%lf",&(*p).d[step]);
       }
  if(n==7)
        {
         for(i=0;i<256;i++)
{
         for(j=0;j<2;j++)
         fscanf(fp,"%d",&(*p).atome[step][j]);
         for(j=0;j<3;j++)
         fscanf(fp,"%lf",&(*p).pos[step][j]);
  }
step++;
n=0;}
ch=fgetc(fp);
}
fclose(fp);
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shugq_2009

新虫 (小有名气)

引用回帖:
Originally posted by _l_ at 2010-10-25 18:54:35:
你的程序不是已经可以读取想要读取的行了吗?
总是需要查找待读取行的位置的

比如我想去第5行到100行的,然后继续取102行到500行的,然后取600行到1000行的,就是在一个文件中取,而且没有周期性的规律
4楼2010-10-27 23:15:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 5 个回答

_l_

新虫 (初入文坛)

你的程序不是已经可以读取想要读取的行了吗?
总是需要查找待读取行的位置的
2楼2010-10-25 18:54:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

holmescn

金虫 (正式写手)

★
余泽成(金币+1):谢谢参与应助! 2010-10-26 00:27:38
shugq_2009(金币+2):谢谢 2010-10-27 23:13:00
虽然fseek可以跳过不想读的字节,但没法判断行。所以,在你的程序里稍加修改就能实现了。(没有直接的函数可以用)
CODE:
  if(ch=='\n')  n++;

这行是关键。你可以判断n的值,跳过不需要的行。如:
CODE:
if(ch=='\n') n++;
if(n

3楼2010-10-25 20:13:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

magic7004

金虫 (职业作家)

★
nono2009(金币+1):鼓励应助 2010-10-30 15:09:15
引用回帖:
Originally posted by shugq_2009 at 2010-10-27 23:15:48:

比如我想去第5行到100行的,然后继续取102行到500行的,然后取600行到1000行的,就是在一个文件中取,而且没有周期性的规律

楼主有这种需求的话,建议重新设计文件格式,使用结构化的文件存储,以便提高读写效率。
流氓不可怕,可怕的是流氓有文化,有文化又BH的流氓无敌~~!
5楼2010-10-28 20:04:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 龙 兔 虎 猫 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[硕博家园] 极限拉扯,如何抉择 +11 Isak0320 2026-10-12 15/750 2026-10-14 21:55 by 猫鱼不是鱼
[基金申请] 申请科研项目纯靠实力能成功吗? 200+5 David1982 2026-10-13 8/400 2026-10-14 21:38 by lhw_GPA4.0
[硕博家园] 中科院海洋所招收海洋材料相关领域博士研究生及研究助理 +3 sujiner 2026-10-08 4/200 2026-10-14 20:40 by qicaiyun
[职场人生] 40+中年人失业后,还能找到好工作吗? +3 xqy2009 2026-10-13 3/150 2026-10-14 20:17 by 43358052
[论文投稿] 二审4个多月了还是Awaiting Reviewer Scores 10+3 纳斯达克ML 2026-10-11 4/200 2026-10-14 17:30 by babero
[有机交流] OpenAI又攻克数学难题了,离AI做有机合成还有多远? +8 wangyl_123 2026-10-10 13/650 2026-10-14 15:12 by zuesli
[教师之家] 课题组会帮你通过考核么? +4 好运来~9527 2026-10-10 7/350 2026-10-13 08:41 by xli1984
[公派出国] 售一区SCI文章T0P,我:8O.551.O54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 9/450 2026-10-11 22:34 by XQNyDCa1Tk5n
[公派出国] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:26 by XQNyDCa1Tk5n
[找工作] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 22:26 by XQNyDCa1Tk5n
[考博] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 22:11 by XQNyDCa1Tk5n
[教师之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 22:06 by XQNyDCa1Tk5n
[教师之家] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 (EPI+-1)(金币-50) +5 qR2AdCWTVtkw 2026-10-09 10/500 2026-10-11 14:25 by VOMexwnDzOFZ
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 (EPI+-1)(金币-50) +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 14:05 by VOMexwnDzOFZ
[考研] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:51 by VOMexwnDzOFZ
[硕博家园] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +5 qR2AdCWTVtkw 2026-10-09 8/400 2026-10-11 13:45 by VOMexwnDzOFZ
[找工作] 售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急 +4 qR2AdCWTVtkw 2026-10-09 7/350 2026-10-11 10:34 by VOMexwnDzOFZ
[公派出国] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +4 qR2AdCWTVtkw 2026-10-09 4/200 2026-10-11 03:14 by M0zrYVSAnxpE
[有机交流] 各位大佬,路线设计求助 +6 zapen 2026-10-08 8/400 2026-10-10 15:59 by zapen
[有机交流] 我应该选哪条合成路线让实验成功率高一些? +5 jing816y 2026-10-08 9/450 2026-10-10 09:05 by zapen
信息提示
请填处理意见