Mấy ac cho e hỏi về cái đọc file. File mình tự tạo thì đọc OK còn đọc file từ GhiFile() thì bị lập vô tận chỗ eof(). Ai giúp với :((
void CDSChuyenXe::GhiFile(){
ofstream fp;
fp.open("DSChuyenXe.csv", ios::out);
int size = DSChuyenXe.size();
for (int i = 0; i < size; i++){
fp << DSChuyenXe[i].Getter_TuyenXe().Getter_NoiKhoiHanh();
fp << ",";
fp << DSChuyenXe[i].Getter_TuyenXe().Getter_NoiDen();
fp << ",";
fp << DSChuyenXe[i].Getter_TuyenXe().Getter_ThoiGian();
fp << ",";
fp << DSChuyenXe[i].Getter_TuyenXe().Getter_GiaTien();
fp << ",";
fp << DSChuyenXe[i].Getter_ThoiGianChay().Getter_NgayThang().Getter_Ngay();
fp << ",";
fp << DSChuyenXe[i].Getter_ThoiGianChay().Getter_NgayThang().Getter_Thang();
fp << ",";
fp << DSChuyenXe[i].Getter_ThoiGianChay().Getter_Gio();
fp << ",";
fp << DSChuyenXe[i].Getter_ThoiGianChay().Getter_Phut();
fp << ",";
fp << DSChuyenXe[i].Getter_SoChoNgoi();
fp << endl;
}
fp.close();
}
void CDSChuyenXe::DocFile(){
ifstream FileIn;
CChuyenXe a;
CTuyenXe tuyenxe;
CThoiGianChay thoigianchay;
CNgayThang ngaythang;
string NoiKhoiHanht, NoiDent, str;
int ThoiGiant, Ngayt, Thangt, Giot, Phutt, SoChoNgoit;
float GiaTient;
int size = 0;
FileIn.open("DSChuyenXe.csv", ios::in);
while (!FileIn.eof()){
getline(FileIn, NoiKhoiHanht, ',');
getline(FileIn, NoiDent, ',');
FileIn >> ThoiGiant;
FileIn.seekg(1, 1);
FileIn >> GiaTient;
FileIn.seekg(1, 1);
FileIn >> Ngayt;
FileIn.seekg(1, 1);
FileIn >> Thangt;
FileIn.seekg(1, 1);
FileIn >> Giot;
FileIn.seekg(1, 1);
FileIn >> Phutt;
FileIn.seekg(1, 1);
FileIn >> SoChoNgoit;
getline(FileIn, str);
tuyenxe.Setter_NoiKhoiHanh(NoiKhoiHanht);
tuyenxe.Setter_NoiDen(NoiDent);
tuyenxe.Setter_ThoiGian(ThoiGiant);
tuyenxe.Setter_GiaTien(GiaTient);
ngaythang.Setter_Ngay(Ngayt);
ngaythang.Setter_Thang(Thangt);
thoigianchay.Setter_Gio(Giot);
thoigianchay.Setter_Phut(Phutt);
thoigianchay.Setter_NgayThang(ngaythang);
a.Setter_TuyenXe(tuyenxe);
a.Setter_ThoiGianChay(thoigianchay);
a.Setter_SoChoNgoi(SoChoNgoit);
DSChuyenXe.push_back(a);
}
FileIn.close();
}