0

我想从文件中读取多个变量并将它们存储在一个对象中,但它不起作用。

文件示例:

De vedettn 
Wout Wouters
14 7 2005

我写的代码:

string naam, leider;
int dag, maand, jaar;
ifstream myfile ("file_ploeg.txt");
if (myfile.is_open())
{
    cout << "Entering file" << endl;
    while ( myfile.good() )
    {
        cout << "Entering while" << endl;
        getline (myfile,naam);
        cin >> dag >> maand >> jaar;
        getline (myfile,leider);
    }
    Datum* datumOBploeg = new Datum(dag,maand,jaar);

    Wielerploeg* wielerploegOB = new Wielerploeg(naam, *datumOBploeg,leider);
    myfile.close();
    cout << "\n";
    return wielerploegOB;
}
4

1 回答 1

2

看起来您正在无序地阅读您的行(至少根据您的示例文件)。

while ( myfile.good() )
{
    cout << "Entering while" << endl;
    getline (myfile,naam);
    cin >> dag >> maand >> jaar;
    getline (myfile,leider);
}

应该:

while ( myfile.good() )
{
    cout << "Entering while" << endl;
    getline (myfile,naam);
    getline (myfile,leider);        // reordered this line
    myfile >> dag >> maand >> jaar; // use myfile instead of cin
}

另外,如果我是你,我会检查你函数中的其余代码,并确保你没有滥用指针。

于 2012-08-19T12:36:33.060 回答