C ++从文件读取最后一条记录显示两次

时间:2016-01-16 21:56:50

标签: c++

人。我的程序基于类和从文件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

0 个答案:

没有答案