c ++文件处理错误:从同一文件和同一程序写入和读取

时间:2013-06-25 13:08:44

标签: c++ file filestream

我正在尝试在同一个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;
}

2 个答案:

答案 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。