我试图从文件读取一些我已有的数据, 并将其装入矢量。 然后我试图将更改保存到文件( 有效 ) 。
但当我运行程序时,它不读我的档案。这是我的代码:
保存/ 装入函数 :
void StudentRepository::loadStudents(){
ifstream fl;
fl.open("studs.txt");
Student st("",0,0);
string str,ss;
int i;
int loc;
if(fl.is_open()){
while(!(fl.eof())){
getline(fl,str);
loc = str.find(",");
ss = str.substr(0,loc);
st.setName(ss);
str.erase(0,loc);
loc = str.find(",");
ss = str.substr(0,loc);
i = atoi(ss.c_str());
st.setId(i);
str.erase(0,loc);
i = atoi(ss.c_str());
st.setGroup(i);
}
}
else{
cout<<"~~~ File couldn t be open! ~~~"<<endl;
}
fl.close();
}
void StudentRepository::saveStudents(){
ofstream fl;
fl.open("studs.txt");
if(fl.is_open()){
for(unsigned i=0; i<students.size(); i++){
fl<<students[i].getName();
fl<<",";
fl<<students[i].getID();
fl<<",";
fl<<students[i].getGroup();
fl<<endl;
}
}
else{
cout<<"~~~ File couldn t be open! ~~~"<<endl;
}
}
我将负载函数称为内存中的矢量:
StudentRepository::StudentRepository(){
loadStudents();
}
任何想法什么/我哪里做错了什么, 或一些建议来纠正它?