#include <stdio.h>
main()
{
FILE*fp;int i,k,n;
fp =fopen("data.dat","w+");
for (i=1;i<6;i++)
{
fprintf(fp,"%d",i);
if (i%3==0) fprintf(fp,"\n");
}
rewind (fp) ;
fscanf(fp,"%d%d",&k,&n) ; printf("%d %d\n",k,n);
fclose (fp) ;
}
结果是123 45
我不明白 fscanf(fp,"%d%d",&k,&n) ; printf("%d %d\n",k,n); 这里k ,n 是怎么回事 不是输出 k ,n 吗 怎么输出的是123 45
----------------解决方案--------------------------------------------------------
请知道的人不吝赐教
----------------解决方案--------------------------------------------------------
你需要明白fscanf()怎么才能读出数据传入给变量.
它和scanf()类似.scanf()函数完成一次数据输入的条件是按一下回车键.
而fscanf()函数是在文件当遇见'\n'或到文件的结束时,才完成一次数据的输入.
比如文件中有下列数据:
2342
83
8237
232
用fscanf(fp,"%d%d%d%d",&i,&j,&k,&n);去读数据时,
得出的结果是:
i=2342,j=83,k=8237,n=232
知道了这些后,再来看你的程序:
for (i=1;i<6;i++)
{
fprintf(fp,"%d",i);
if (i%3==0) fprintf(fp,"\n");
}
这段语句结束后,文件中的数据:
123
45
再用fscanf(fp,"%d%d",&k,&n) ;来读取数据,得到的结果:k=123,n=45
----------------解决方案--------------------------------------------------------
neverTheSame你好强啊 什么都知道
你是大学老师吗
----------------解决方案--------------------------------------------------------
不是我是学生.
我所知道的,是从我编程过程总结出来.
----------------解决方案--------------------------------------------------------
不错,学到一点知识!!!
----------------解决方案--------------------------------------------------------