Đọc file bằng binary

Mình code đọc một file bằng nhị phân, đây là hàm đọc của mình. Lỗi ở chỗ fread, không đọc được. Nhưng khi mình thay bằng fscanf thì lại ok.
Không biết bị lỗi chỗ nào ^^

void readFile(FILE *fo, bac2s &x)
{
	fread(&x.n, sizeof(int), 1, fo);

	x.a = new int[x.n];
	x.b = new int[x.n];
	x.c = new int[x.n];
	for (int i = 0; i < x.n; i++)
	{
		fread(&x.a[i], sizeof(int), 1, fo);
		fread(&x.b[i], sizeof(int), 1, fo);
		fread(&x.c[i], sizeof(int), 1, fo);
	}

	printf("\nDoc xong");
	fclose(fo);
}

struct:

struct bac2s
{
	int n;
	int *a, *b, *c;
};

main:

int main()
{
	FILE *f;
	f = fopen("hello.txt", "rb");
	if (f == NULL)
	{
		printf("\nKhong mo duoc file");
		return 0;
	}
	bac2s x;

	readFile(f, x);
	printf("\n%d", x.n);
	for (int i = 0; i < x.n; i++)
	{
		printf("\n%d %d %d", x.a[i], x.b[i], x.c[i]);
	}



	delete[]x.a;
	delete[]x.b;
	delete[]x.c;
	_getch();
	return 0;
}

file:

3
1 2 3
3 5 4
-4 9 -8

Địa chỉ đích gửi vào fread là 1 con trỏ kiểu char.Biến bien là kiểu gì đấy. Trong chương trình k có. Bạn có thể ép kiểu qua char
Tương tự biến x cũng phải ép qua *char

mình sửa lại rồi, bien sửa thành x
^^

mà bắt buộc là char hả ??
mình đâu có nhớ như v ^^
sửa như bn ns cuk ko dc :slight_smile:

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