c语言fscanf的问题

c语言 fscanf
file*f;
int j;
f=fopen("D:\\A.TXT","w+");
j=fscanf(f,"%s",a[i].nam);
如果程序第一次运行,即A.TXT还没被创建,运行到这里的时候
j的值为多少?
为什么?
j=fscanf(f,"%s",a[i].nam); 中括号中的f是什么?什么语法?

第1个回答  2011-01-01
#include "stdio.h"
main()
{ FILE *fp;int i,k,n;
fp=fopen("data1.dat","w+");
for (i=1;i<=6;i++)
{fprintf(fp,"%d ",i); ///这里%d后有空格,输出到文件中的数据是1 2 3 (第一行),fscanf读取时是以空格为分界的,所以只能读进来1,2
if(i%3==0) fprintf(fp,"\n");
}
rewind(fp);

fscanf(fp,"%d%d",&k,&n);printf("%d,%d\n",k,n);
fclose(fp);

}

main()
;
fp=fopen("d2.dat","w");
fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]); ///这个输出到文件的格式为123 456
fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);

fclose(fp);
fp=fopen("d2.dat","r");;
fscanf(fp,"%d%d",&k,&n);
printf("%d,%d\n",k,n);
fclose(fp);

}
第2个回答  2010-12-31
文件指针,表示一个已经打开的文件。
j=fscanf(f,"%s",a[i].nam); //表示从f所指的文件中读入一行到a[i].nam中去
第3个回答  2010-12-31
j=-1,读不到任何值fscanf将返回EOF,即-1。

括号中的f是文件指针,指向即将读入的文件流。本回答被提问者采纳
相似回答