紧急小弟我的项目现在老师催的很紧,但是一个简单的C语言的文件操作都出了有关问题,始终无法解决,望哪位好心的大侠帮忙,小弟在此不胜感激!

紧急求救!我的项目现在老师催的很紧,但是一个简单的C语言的文件操作都出了问题,始终无法解决,望哪位好心的大侠帮忙,小弟在此不胜感激!!!
这不是项目的源程序,我变了一个测试程序,大致是float类型的文件写入以及文件读取
#include <stdio.h>

int main()
{
FILE* fp;
float x=1.01230,y=2.3247284,z=3.3274862,a,b,c;
fp=fopen("text1.txt","w");
fprintf(fp,"%f %f %f\n",x,y,z);
x*=2.0;y*=2.0;z*=2.0;
fprintf(fp,"%f %f %f\n",x,y,z);
fseek(fp,0L,SEEK_SET);
fscanf(fp,"%f%f%f",&a,&b,&c);
printf("a=%f,b=%f,c=%f\n",a,b,c);
fscanf(fp,"%f%f%f",&a,&b,&c);
printf("a=%f,b=%f,c=%f",a,b,c);
fclose(fp);
return 0;
}
文件的内容正确:
1.012300 2.324728 3.327486
2.024600 4.649457 6.654973
但是exe显示不正确:
a=0.000000,b=0.000000,c=0.000000
a=0.000000,b=0.000000,c=0.000000
不知道哪里错了???心急如焚!!!

------解决方案--------------------
int main()
{
FILE* fp;
double x=1.01230,y=2.3247284,z=3.3274862,a,b,c;
fp=fopen("text1.txt","w+");
fprintf(fp,"%lf %lf %lf\n",x,y,z);
x*=2.0;y*=2.0;z*=2.0;
fprintf(fp,"%lf %lf %lf\n",x,y,z);
fseek(fp,0L,SEEK_SET);
fscanf(fp,"%lf%lf%lf",&a,&b,&c);
printf("a=%lf,b=%lf,c=%lf\n",a,b,c);
fscanf(fp,"%lf%lf%lf",&a,&b,&c);
printf("a=%lf,b=%lf,c=%lf",a,b,c);
fclose(fp);
return 0;
}