2012-05-08 12 views
0

私はVS 2010のC++で簡単なファイルI/O処理プログラムを実行しようとしています。しかし、実行しようとすると、 fstreamでやります。このプログラムはかなり単純で、2つのテキストファイルを開き、最初のテキストファイルから2番目のテキストファイルに小さな変更を加えてコピーします。私は正しいロジックを持っていると確信していますが、私は何が間違っているのか分かりません。どんな助けでも大歓迎です。ありがとう。 は、ここでは、コードです:C++のシンプルなファイル処理コードでぼやけたエラー

エラー1つのエラーC2248: 'のstd :: basic_ios < _Elem、_Traits> :: basic_ios':

#include<fstream> 
#include<iostream> 
#include<cstdlib> 

using namespace std; 

void file1(ifstream& in_stream, ofstream out_stream); 

int main() 
{ 
ifstream fin; 
ofstream fout; 
char name1[60]; 
cout<<"Enter the name of the input file: "<<endl; 
cin>>name1; 
fin.open(name1); 
if(fin.fail()) 
{ 
    cout<<"Failed to open Input file"<<endl; 
    exit(1); 
} 
else 
{ 
    cout<<"Input file opened successfully"<<endl; 
} 
char name2[60]; 
cout<<"Enter the name of the output file: "<<endl; 
cin>>name2; 
fout.open(name2); 
if(fout.fail()) 
{ 
    cout<<"Failed to open Output file"<<endl; 
    exit(1); 
} 
else 
{ 
    cout<<"Output file opened successfully"<<endl; 
} 
file1(fin, fout); 
fin.close(); 
fout.close(); 
return 0; 
} 

void file1(ifstream& in_stream, ofstream out_stream) 
{ 
char next; 
in_stream.get(next); 
while(!in_stream.eof()) 
{ 
    if(next=='A') 
    { 
     out_stream<<"ABC"; 
    } 
    else 
    { 
     out_stream<<next; 
    } 
    in_stream.get(next); 
} 
} 

は、これは私がVS 2010上で発生した正確なエラーでのプライベートアクセスできません。メンバークラスで宣言 'のstd :: basic_iosは_Elemは、_Traitsは> <' Cは:\プログラムファイル(x86の)\マイクロソフトのVisual Studio 10.0 \ VCの\は、\のfstream 1116 1ファイル

答えて

4

out_stream意味、値によって渡されますコピーコンストラクタ(private)を呼び出そうとしています:それをリファレンス:

void file1(ifstream& in_stream, ofstream& out_stream); 
関連する問題