#include <stdio.h>
#define SIZE 5typedef struct Infomation {
long number;
char addr[10];
} info;
int main()
{
int i;
FILE *file;
info member[SIZE]={ {001,"Beijing"}, {002,"Shanghai"},
{003,"Guangzhou"}, {004,"Xi'an"},
{005,"Fujian"}};
info n={006,"Nanjing"};
file = fopen("infomation.dat", "wb");
fwrite(member, sizeof(info), SIZE, file);
fclose(file);
file = fopen("infomation.dat", "rb");
fread(member, sizeof(info), SIZE, file);
printf("\nThe original infomation :\n\n");
for (i=0; i<SIZE; i++)
{
printf("\nNumber: %ld Addr:%s",member[i].number, member[i].addr);
printf("\n");
}
fclose(file);
file = fopen("infomation.dat", "rb+");
fseek(file, -1L*sizeof(info),SEEK_END);
fwrite(&n, sizeof(info), 1, file);
fclose(file);
printf("\nThe infomation after modifing :\n\n");
file = fopen("student.dat", "rb");
fread(member, sizeof(info), SIZE, file);
for (i=0; i<SIZE; i++)
{
printf("\nNumber: %ld Addr:%s",member[i].number, member[i].addr);
printf("\n");
}
fclose(file);
return 0;
}