|
|
检测点12-4
1.在源文件c1204.c中,数组s一共有几个元素?
答:3个。
2.在本节我们创建了文件myfile2.dat。请借助于stgS类型的对象,分多次调用fread函数,每次1个记录,将文件的内容读出并打印出来。既然是分多次调用fread函数,为何读取的不是同一条记录而是连续的记录?
参考答案:
# include <stdio.h>
typedef struct {char c; int i;} stgS;
int main (void)
{
FILE * hfile = fopen ("myfile2.dat", "rb");
if (hfile == NULL) return -1;
stgS s [8];
while (fread (s, sizeof (stgS), 1, hfile) == 1)
{
putchar (s [0].c);
printf (",%d\n",s [0].i);
}
//还没讲转换说明%c,否则while语句的循环体可直接写成 printf ("%c,%d\n", s [0].c, s [0].i);
fclose (hfile);
}
每当我们调用fread和fwrite函数时,也将移动文件位置指示器,使之指向已读取数据的末尾或者已写入数据的末尾。
|
|