我正在尝试在同一个cpp程序中写入和读取文件,但我收到了3个错误
conflicting decleration 'std::istream theFile'
'theFile' has a previous decleration as 'std::istream theFile'
no match for 'operator>>' 'in theFile >>n'
当你回答这个问题时,尝试更具体的菜鸟。 这是我的代码。
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int n;
string name;
ofstream theFile;
istream theFile;
theFile.open("Olive.txt");
while(cin>> n>>name)
{
theFile<< n<<' '<< name;
}
while(theFile>>n>>name)
{
cout <<endl<<n<<","<<name;
}
return 0;
}
答案 0 :(得分:1)
您已声明两个具有相同类型的变量。这是不可能的。您应该为in和outfile声明两个变量,然后打开相同的文件:
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int n;
string name;
ofstream theFileOut;
ifstream theFileIn;
theFileOut.open("Olive.txt");
while(cin>> n>>name)
{
theFileOut<< n<<' '<< name;
}
theFileOut.close();
theFileIn.open("Olive.txt");
while(theFileIn>>n>>name)
{
cout <<endl<<n<<","<<name;
}
return 0;
}
答案 1 :(得分:1)
使用std :: fstream代替。它可以读/写文件,并做你需要的。因此,您不必打开文件两次,因为您将执行ifstream和ofstream。