Con trỏ ghi và lưu file struct trong file

#include <stdio.h>
#include <math.h>
#include <stdlib.h>
struct hanghoa{
	char cc[30];
	int yasuo;
	
};
typedef struct hanghoa hh;
void nhap(hh *a){
	getchar();
	printf("nhap cc :");
	gets(a->cc);
	printf("so thuc: ");
	scanf("%d",&a->yasuo);
}
void xuat(hh *a){
	printf("%s",a->cc);
	printf("%d",a->yasuo);
}
void nhapc(hh *a,int n){
	for(int i = 0 ; i < n ; i++){
		nhap(a+i);
	}
}
void xuatc(hh *a,int n){
	for(int i = 0; i < n ;i++){
		xuat(a+i);
	}
}
void LuuFile(hh *a,int n){
	FILE *f=fopen("bai09.txt","wb");
	if(f==NULL){
		exit(1); 
	} 
	fwrite(&n,sizeof(n),1,f);
	for(int i = 0 ; i < n ; i++){
	fwrite(a+i,sizeof(hh),n,f); 
}
	fclose(f); 
} 
/*void docFile(hh *a,int &n){
	FILE *f=fopen("bai09.txt","rb");
	if(f==NULL) exit(1);
	fread(&n,sizeof(n),1,f); 
	for(int i = 0 ; i < n ;i++){
	fread(a+i,sizeof(hh),1,f);
}
	fclose(f); 
} */
int main(){
		hh *a;
		int n;
		printf("nhap so luong: ");
		scanf("%d",&n); 
		a=(hh*)malloc(n*sizeof(hh));
		nhapc(a,n);
		LuuFile(a,n);
		free(a); 
}

cho em hỏi hàm LưuFile và hàm đọcFile nó bị lỗi chỗ nào vậy ạ.

Tại sao bạn biết nó lỗi? Phải có dấu hiệu gì bạn mới xác định là bị lỗi chứ!

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?