Lỗi đọc file trong C++

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();
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?