想要读取文件中的数据,但是我用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;
}
该回答引用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大模型,请合理使用:
。
为什么你的代码不能正常工作?