数据块读写函数有Fread和Fwrite函数,主要是用于整块数据的读写函数,可以使用读写一组函数 一个结构体变量的值。
度函数调用的一般形式为:
Fread(buffer,size,count,fp);
写函数调用的一般形式为:
Fwrite(buffer,size,count,fp);
其中 buffer 是一个指针 在fread函数中 他表示存放输入数据的首地址 在fwrite函数 他表示存放输出数据的首地址
Size 表示数据块大小的字节数
Count 表示要读写的数据块块数
Fp 表示文件指针
例如:fread(fa,4,5,fp);
其意义是从fp所指的文件中每次读4个字节 (一个整数数)送到整型数据中fa中 连续读5次 就是把五个整数连续存进fa中.
#include<stdio.h>
struct stu
{
char name[10];
int num ;
int age ;
char addr[5];
}boya[2],boyb[2],*pp,*qq;
main()
{
FILE *fp;
char ch;
int i;
pp = boya;
qq = boyb;
if((fp=fopen("c1","wb+"))==NULL)
{
printf("\nCannot open file strike any key exit!");
getch();
exit(1);
}
for(i=0;i<2;i++,pp++)
scanf("%s%d%d%s",pp->name,&pp->num,&pp->age,pp->addr);
pp = boya;
fwrite(pp,sizeof(struct stu),2,fp);
rewind(fp);
fread(qq,sizeof(struct stu),2,fp);
printf("\n");
for(i=0;i<2;i++,qq++)
printf("%s\t%5d%7d%s\n",qq->name,qq->num,qq->age,qq->addr);
fclose(fp);
}
注释:
定义了一个结构stu 说明了两个结构体数组boya 和boyb以及连个结构指针变量pp和qq 并且以读写的形式打开 输出书两个学生的数据之后 将内部文件指针移动到文件首 读出两块学生数据后 在屏幕上显示。