已知顺序数据文件FILEI.DAT的内容如下程序运行后的输出结果是:
A 、4.05.06.0
B 、5.06.07.0
C 、7.08.09.0
D 、1.02.03.0
【正确答案:D】
BACKSPACE为回退语句,是指定文件的文件读写指针从当前记录回退一个记录。运行程序后指针在第二条记录上,回退到第 一条记录,第一节记录数据为1.0,2.0,3.0。
fprintf(fp,"%d%d%dn",a[0],a[1],a[2]) 输出3个整数,数与数之间不带空白,再换行。123
fprintf(fp,"%d%d%dn",a[3],a[4],a[5]) 输出3个整数,数与数之间不带空白,再换行。456
文件d2.dat 中内容:
123
456
fscanf(fp,"%d%d",&k,&n) 打开后,读入两个 整数,默认 广义空白 是分隔符,所以读入
k 123, n 456
printf("%d%dn",k,n) 打印2个整形数,不带空格。打出 123456
-----
2是二进制文件。fwrite(a,sizeof(int),6,fp) 写6个int. a[0]=1,a[1]=2, ... 3 4 5 6
fseek(fp,sizeof(int)*3,SEEK_SET) 文件指针 偏移量 为离开文件开始点 3个int
fread(a,sizeof(int),3,fp) 从这个位置起,读3个 int , a[0]=4,a[1]=5,a[2]=6 (被更新)
for(i=0i<6i++)printf("%d,",a[i]) -- 逗号分隔,打出6 个, a[0] 到 a[5]
4,5,6,4,5,6,
结果是12。
程序先向data.dat文件输入以下内容:
1 2 3
4 5
再回到文件头,读取前两个数字分别赋给k和n,再将k和n并列输出,因此为12。