30/09/2018, 20:28

Đọc và ghi Struct trong file nhị phân

Chào mọi người, hiện tại em có gặp vấn đề về cách đọc ghi File nhị phân, mong được sự giúp đỡ của mọi người ạ, cụ thể: em viết chương trình quản lý sinh viên em chia làm các struct:

    struct TruongHoc{
    	int soluongLop;
    	LOPHOC *mySchool;
    };
struct LopHoc{
	int SoLuong;
	char *MaLop;
	int STTHT = 0;
	SINHVIEN *myClass = NULL;
};
struct SinhVien{
	char *HoTen;
	char *MSSV;
	float Dtb;
};

em viết nhiều lần nhưng chưa biết xử lý ra làm sao

void writeClass(char *Patch, TRUONGHOC tr){
	FILE *FileOut = fopen(Patch, "wb");
	if (!FileOut){
		printf("Error load file.");
		getch();
		return;
	}
	fwrite(&tr.soluongLop, sizeof(int), 1, FileOut); //Ghi số lượng lớp
	for (int i = 0; i < tr.soluongLop; ++i){
		fwrite(&tr.mySchool[i].SoLuong, sizeof(int), 1, FileOut); // Ghi số lượng sinh viên
		fwrite(&tr.mySchool[i], sizeof(LOPHOC), 1, FileOut);
		for (int j = 0; j < tr.mySchool[i].SoLuong; ++j){
			fwrite(&tr.mySchool[i].myClass[j], sizeof(SINHVIEN), 1, FileOut);
		}
	}
	fclose(FileOut);
}

em đã nhập dữ liệu, bây giờ em ghi vào file nhị phân thông tin các lớp học và đọc lên lại thì thực hiện như thế nào ạ? Mong mọi người gợi ý cho em ạ. Em cảm ơn!!

Bài liên quan
0