关于#c++#的问题:想要读取文件中的数据,但是我用file1>>给我报错,这是为什么呀#include <iostream>

想要读取文件中的数据,但是我用file1>>给我报错,这是为什么呀


#include
#include
#include
using namespace std;
int main()
{
    ofstream file1("f1,dat");
    if (!file1)
    {
        cerr << "文件打开失败!";
        abort();
    }
    int a[20];
    for (int i = 0; i < 20; i++)
    {
        cin >> a[i];
        file1 << a[i];
    }//输入20个数字
    int a;
    for (int i = 0; i < 10; i++)//读取f1中的数据
    {
        file1 >> a;
        cout << a << " ";
    }
    return 0;
}

img

该回答引用ChatGPT
看到你的代码,我发现有一个问题。在读取文件内容之前,你需要先将文件指针重置到文件的开头。你可以使用以下语句实现:

file1.seekg(0);

然后再使用 file1 >> a; 读取数据,就不会出现错误了。代码修改后如下:

#include<iostream>
#include<fstream>
#include<string>
using namespace std;
int main()
{
    ofstream file1("f1.dat");
    if (!file1)
    {
        cerr << "文件打开失败!";
        abort();
    }
    int a[20];
    for (int i = 0; i < 20; i++)
    {
        cin >> a[i];
        file1 << a[i];
    }//输入20个数字
    file1.close();
    ifstream file2("f1.dat");
    int b;
    for (int i = 0; i < 10; i++)//读取f1中的数据
    {
        file2 >> b;
        cout << b << " ";
    }
    return 0;
}


以下答案引用自GPT-3大模型,请合理使用:

。

为什么你的代码不能正常工作?