从文件 c++ 中读取 3 个整数

Read 3 integers from file c++

本文关键字:整数 读取 文件 c++      更新时间:2023-10-16

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

文件示例:

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;
}

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

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
}

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