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

代わりに std::fstream を使用してください。ファイルの読み取り/書き込みができ、必要なことを実行します。そのため、ifstream と ofstream のように、ファイルを 2 回開く必要はありません。

于 2013-06-25T14:57:31.777 に答える
1

同じ型の 2 つの変数を宣言しました。これは不可能です。in ファイルと outfile の 2 つの変数を宣言してから、同じファイルを開く必要があります。

#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 に答える