【问题标题】:Read 3 integers from file c++从文件 c++ 中读取 3 个整数
【发布时间】:2012-08-19 12:27:21
【问题描述】:

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

文件示例:

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

【问题讨论】:

    标签: c++ file fstream


    【解决方案1】:

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

    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
    }
    

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

    【讨论】:

    • 谢谢 :) 我就是这么愚蠢,我没看到。并且 myfile 代替 cin 也是一个不错的提示!
    猜你喜欢
    • 2014-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-09
    • 1970-01-01
    • 1970-01-01
    • 2017-08-23
    相关资源
    最近更新 更多