打开文件以读取结构数组 我是计算机初学者,学习C++。

打开文件以读取结构数组 我是计算机初学者,学习C++。,c++,file,input,structure,C++,File,Input,Structure,我在程序中打开文件并将信息读入结构的每次尝试都不起作用 下面是我在函数中写的内容 void getMemberInfo(Payment member[]) { ifstream file; file.open("information.txt", ios::in); int i = 0; if (!file) cout << "\n Error opening file!\n\n"; else { wh

我在程序中打开文件并将信息读入结构的每次尝试都不起作用

下面是我在函数中写的内容

void getMemberInfo(Payment member[])
{
    ifstream file;
    file.open("information.txt", ios::in);
    int i = 0;

    if (!file)
       cout << "\n Error opening file!\n\n";

    else
    {
        while (!file)
        {
            file >> member[i].ID;
            file.getline(member[i].name, 30, '\n');
            member[i].member_name = member[i].name;
            file >> member[i].payment_due;
            i++;

            if (file.eof())
            break;
    }
}

file.close();
}

感谢您的帮助。我有点不知所措。

错误在while条件下。只要改变条件,它就会起作用

// Instead of !file, use !file.eof()
while (!file.eof())

该文件可能不在当前工作目录中。Debugger。使用调试器确定程序出错的位置。使用调试器的结果编辑您的文章。请使用输入数据文件的示例编辑您的文章。常用的阅读习惯用法是:while file>>member[i]。IDIt似乎可以工作-读取,最好是while file。我想我已经在屏幕上看了很长时间,没有看到它。