Em đang làm bài quản lí sv sử dụng Linkedlist và có hàm đọc như sau
void docFile(Node*& head, char fileName[]) {
FILE* fp;
int i = 0;
fopen_s(&fp, fileName, "r");
if (fp == NULL) {
cout << "Khong mo duoc tap tin!\n";
return;
}
cout << "Chuan bi doc file: "; puts(fileName);
HSSV x;
int gioitinh = 0;
while (fscanf(fp, "%5d%30s%1d%2d%2d%4d%5f%5f%5f%5f%10s", &x.MSSV, &x.hoten,
&gioitinh, &x.NgSinh.ngay, &x.NgSinh.thang, &x.NgSinh.nam,
&x.dToan, &x.dLy, &x.dHoa,
&x.dTB, &x.xLoai) != EOF)
{
i++;
x.gtinh = gioitinh;
addLast(head, x);
cout << " So luong "<< i;
}
cout << " So luong Student co san trong file la: " << i << endl;
cout << endl;
fclose(fp);
return;
}
khi đọc file thì nó sẽ bị rơi vào tình trạng loop vô hạn. Kể cả khi GhiFile trước với cấu trúc file tương tự rồi đọc lại file đó vẫn bị. Nhưng với lúc dùng Array thì không có tình trạng như vậy. Mong mọi người chỉ cách khắc phục, em cảm ơn !