关于 fseek 函数的问题
我有一个文件,前N行是一部分(每行3个数),后N行是一部分(每行3个数),现在分别要用前N行的和后N行的分别每行对应匹配,用着六个数计算,然后输入到另一个文件,我的程序中,在读入后N行时有错误,我估计是fseek的问题,求大神指导例如:
已知文件:
12.7 45.98 23.6
12.5 45.88 22.0
(为了简便,将问题简化成前一行和后一行)
我的代码:
if((fp1=fopen("1.txt","r"))==NULL)
{printf("open error\n");
system("pause");
exit(0);
}
if((fp2=fopen("1.txt","r"))==NULL)
{printf("open error\n");
system("pause");
exit(0);
}
fseek(fp2,(sizeof(double)*(N)*3L+1L*(N)*sizeof('\n')+2L*(N)*sizeof(' ')),0);
for(i=0;i<N;i++){
fscanf(fp1,"%lf %lf %lf",&x1,&y1,&z1);
// printf("%lf,%lf,%lf\n",x1,y1,z1); (这里是调试时自己加的)
fscanf(fp2,"%lf %lf %lf",&x2,&y2,&z2);
// printf("%lf,%lf,%lf\n",x2,y2,z2); (这里是调试时自己加的)
a[i]=yunsuan(x1,x2,y1,y2,z1,z2);
}
fclose(fp2);
fclose(fp1);
if((fp3=fopen("2.txt","w"))==NULL) //将最后的结果放在2.txt文件中
{printf("open error\n");
system("pause");
exit(0);
}
for(i=0;i<N;i++)
{
fprintf(fp3,"%lf",a[i]);
fputs("\n",fp3);
}
fclose(fp3);