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 に答える