0

我正在尝试在同一个 cpp 程序中写入和读取文件,但出现 3 个错误

冲突声明“std::istream theFile”
'theFile' 之前的声明为 'std::istream theFile'
'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;
}
4

2 回答 2

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;
}
于 2013-06-25T13:12:13.140 回答
1

请改用 std::fstream 。它可以读/写文件,并做你需要的。因此,您不必像 ifstream 和 ofstream 那样打开文件两次。

于 2013-06-25T14:57:31.777 回答