从文件中读取并保存数组中的数据

时间:2014-09-18 06:30:09

标签: c++

我已经有了这种从文件中读取数据的方法。如果输入未退出或为空,则要求用户再次输入。然后如果它正确并且有一些数据我想将数据保存在数组龙中,它有4个属性名称,骑手,颜色,翼展。但是这个代码出了问题,我可以保存数据。这意味着毕竟龙阵列是空的,没有任何内容。任何解决方案?

int loadFile(Dragon * dragons) {
    int index = 0;
    ifstream fin;
    char name[100];
    char rider[100];
    char colour[100];
    int wingspan;
    while (true) {
        cout << "Enter filename >> ";
        string filename;
        getline(cin, filename);
        fin.open(filename.c_str());
        if (!fin)
            std::cerr << filename << " is not exiting" << endl;
        else {
            bool empty = (fin.get(), fin.eof());
            if (empty == true)
                cout << filename << " is a empty file" << endl;
            else {
                fin.getline(name, 100);
                fin.getline(rider, 100);
                fin.getline(colour, 100);
                fin >> wingspan;

                dragons[index].setName(name);
                dragons[index].setRider(rider);
                dragons[index].setColour(colour);
                dragons[index].setWingspan(wingspan);
                index++;
                break;
            }
        }
        fin.close();
    }

    return index;
}

主要:

int main() {
    initialize();
    Dragon dragons[ NUMBER_OF_DRAGONS ];
    int currDragonNumbers = loadFile(dragons);
    run(dragons, currDragonNumbers);
    cout << " insert your closing message here" << endl;
} 

0 个答案:

没有答案