从某一行开始读取数据文件。

zyning 2011-03-10 04:19:49
现有一个txt数据文件,我想从第八行开始读取一列数据。请大侠指点。

数据文件见图:

也就是从 3.229929E+001 这个数据开始读取。
...全文
368 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2011-03-10
  • 打赏
  • 举报
回复
char buf[80];//每行最长79+1个英文字符
FILE *f;
int i;
f=fopen("data.txt","r");
for (i=1;i<=7;i++) fgets(buf,80,f);//跳过前七行
fgets(buf,80,f);//读出第8行
printf("%s",buf);
fclose(f);
zyning 2011-03-10
  • 打赏
  • 举报
回复
好,我看看,多谢,大哥好运。结贴。。。。。
justkk 2011-03-10
  • 打赏
  • 举报
回复
zyning 2011-03-10
  • 打赏
  • 举报
回复
大侠说话真精简,怎么跳啊。下面是我东拼西凑的代码,在我把数据文件的前7行手动删除,保存后,可以运行的。 现在我不想手动删除在保存,想让他从第八行开始读数据到数组p。



void main()
{
int len;
cout<<"输入个数:";
cin>>len;
double *p = new double[len];

char filename[100];
cout<<"输入文件的路径:";
cin>>filename;

ifstream F(filename); //读入数据文件
if(F.fail())
return;


int i,n=0;

while(!F.eof())
F>>p[n++];
for(i=0;i<n;i++)
p[i];


double junzhi=0; //均值

。。。。。
}
justkk 2011-03-10
  • 打赏
  • 举报
回复
那就一行一行的读吧,跳过前面的7行
gkun_521 2011-03-10
  • 打赏
  • 举报
回复
如果就单这个文件,数第8行开头前面有多少字节,然后fseek...哈
zyning 2011-03-10
  • 打赏
  • 举报
回复
图片看不见哈, 我说说吧,
前三行,第五行空白;第四行,第六行是些英语字母。第七行开始是一列数据,现在我想从第八行开始读,第七行这个数据也不要。

这位大侠的“文件行定长”什么意思。不需要读取的前7行?(这个是确定的,我就是需要从第8行开始读。)
还是第7行后的数据有多少行。(100行1列)
justkk 2011-03-10
  • 打赏
  • 举报
回复
如果文件行定长,比较好办,可以调用fseek()

3,881

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 其它技术问题
社区管理员
  • 其它技术问题社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧