fwrite和fread应用

fwrite和fread函数的简单应用,函数原型可以查看”C文件操作"文章

fwrite.cpp

#include <stdio.h> 
#include <stdlib.h>
#define SIZE 2  
struct student_type  
{  
	char name[10];  
	int num;  
	int age;  
	char addr[10];  
}stud[SIZE];  
void save()  
{  
	FILE *fp;  
	int i;  
	if((fp=fopen("stu_list","wb"))==NULL)  
	{  
		printf("cant open the file");  
		exit(0);  
	}  
	for(i=0;i<SIZE;i++)  
	{  
		if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)  
			printf("file write error\n");  
	}  
	fclose(fp);  
}  
int main()  
{  
	int i;  
	for(i=0;i<SIZE;i++)  
	{  
		scanf("%s%d%d%s",&stud[i].name,&stud[i].num,&stud[i].age,&stud[i].addr);  
		save();  
	}  
	for(i=0;i<SIZE;i++)  
	{  
		printf("%s,%d,%d",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);  
	}  
}  

fread.cpp

#include <stdio.h> 
#include <stdlib.h>
#define SIZE 2  
struct student_type  
{  
	char name[10];  
	int num;  
	int age;  
	char addr[10];  
}stud[SIZE];  
void read()  
{  
	FILE *fp;  
	int i;  
	if((fp=fopen("stu_list","rb"))==NULL)  
	{  
		printf("cant open the file");  
		exit(0);  
	}  
	for(i=0;i<SIZE;i++)  
	{  
		if(fread(&stud[i],sizeof(struct student_type),1,fp)!=1)  
			printf("file write error\n");  
	}  
	fclose(fp);  
}  
int main()  
{  
	int i;  
	read();  
	for(i=0;i<SIZE;i++)  
	{  
		printf("%s,%d,%d,%s",stud[i].name,stud[i].num,stud[i].age,stud[i].addr);  
		printf("\n");  
	}  
	system("pause");
	return 0;
} 


你可能感兴趣的:(struct,list,File,null,System,FP)