关键函数:
fread();向文件读数据。
fwrite();向文件写数据。
#include<stdio.h>
#include<stdlib.h>
#define Size 10
struct Student_type
{
char name[10];
int num;
int age;
char add[10];
}Stu[10];
void save()
{
FILE *fp;
int i;
if ((fp = fopen("file1", "wb")) == NULL)
{
printf("could not open file\n");
return;
}
for (i = 0; i < Size; i++)
{
if (fwrite(&Stu[i], sizeof(struct Student_type), 1, fp) != 1)
{
printf("file write error\n");
}
}
fclose(fp);
}
int main()
{
int i;
printf("please enter data of student\n");
for (i = 0; i < Size; i++)
{
scanf("%s%d%d%s", Stu[i].name, &Stu[i].num, &Stu[i].age, Stu[i].add);
}
save();
return 0;
}
以下是验证代码,用它在file1中读入数据,然后在屏幕上输出。
记得要把前面的注释掉喔!
//int main()
//{
// int i;
// FILE *fp;
// if ((fp = fopen("file1", "rb")) == NULL)
// {
// printf("could not open file\n");
// exit(0);
// }
// for (i = 0; i < Size; i++)
// {
// fread(&Stu[i], sizeof(struct Student_type), 1, fp);
// printf("%-10s%5d%5d%10s\n", Stu[i].name, Stu[i].num, Stu[i].age, Stu[i].add);
// }
// fclose(fp);
// return 0;
//}