人。我的程序基于类和从文件I读取strem
使用operator<<
从文件中读取。我有显示最后一个记录frmo文件的问题 - 最后一次记录显示两次。
void Model::showDatabase() {
cout << "Show database" << endl;
ifstream file(db);
string line;
const int maxIgnore = 1;
const int delim = ' ';
string val1, val2;
const char separator = ' ';
const int nameWidth = 6;
const int numWidth = 8;
int i=1;
cout << "\t\t Id. \t\t Numer \t\t Nazwa plyty" << endl;
while(file)
{
file>>val1;
file>>val2;
cout << "\t\t "<<i<<"\t\t"<<val1<<"\t\t"<<val2<<endl;
i++;
}
}
和我的重载方法
ostream& operator <<(ostream& myIn, Record& record)
{
cout << "save to file";
myIn << record.idRecord;
myIn << " ";
myIn << record.cdName;
myIn << "\n";
// myIn << "==\n";
return myIn;
}
并且文件中的最后一条记录显示为2x