30/09/2018, 16:54
Không load được data từ file C++
Trong class Lecturer em định nghĩa lại operator>> như sau:
istream& operator>> (istream& in, Lecturer& L) {
in >> L.ID;
getline(in, L.name);
getline(in, L.major);
getline(in, L.qualification);
getline(in, L.position);
return in;
}
Lớp Faculty chứa 1 vector. Cứ mỗi đối tượng của Lecturer được đọc vào từ file thì sẽ add nó vào Faculty thông qua hàm này:
void Faculty::addLecturer(Lecturer& L) {
if(L.getMajor().compare("Software engineer") == 0)
SE_list.push_back(L);
if(L.getMajor().compare("Network engineer") == 0)
NE_list.push_back(L);
if(L.getMajor().compare("System information") == 0)
SI_list.push_back(L);
}
Trong hàm main mình xử lý việc load data như thế này:
bool loadData(Faculty& F) {
fstream file;
file.open(filename, ios::in);
if(file.fail()) {
cout << "Can't load data!" << endl;
return false;
}
while(!file.eof()) {
Lecturer L_temp;
file >> L_temp;
F.addLecturer(L_temp);
}
file.close();
return true;
}
Nhưng khi dùng hàm loadData này thì chương trình lại dừng và không có động tĩnh gì cả. Mọi người tìm giúp mình vấn đề nó nằm ở chổ nào với!
Sao markdown nó không tự tab vào anh @ltd?
Bài liên quan
Đã sửa được rồi, sửa cái overload operator >> của lớp Lecturer như sau: