我正在尝试从文件中读取一些我已经拥有的数据并将其加载到向量中。然后我试图将更改保存到文件(有效)。
但是当我运行程序时,它不会读取我的文件。这是我的代码:
保存/加载功能:
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();
}
有什么想法/我做错了什么,或者有什么建议可以解决它?