2017-07-05 7 views
-2

このプログラムの変数 "read"は、関数を介して渡す必要があり、そのデータ型がわかりません。私はhttp://www.cplusplus.com/reference/fstream/ifstream/ifstream/http://www.cplusplus.com/reference/fstream/ifstream/を使用しましたが、私は何かを見つけるのに苦労しています、これはちょうど不可能ですか?std :: ifstreamデータ型?

int main() 
{ 
string line = " ", ans = " ", ans2 = " ", data = " "; 
int i = 0, j = 0; 
cout << "What file do you want to read? : "; 
cin >> ans; 
cout << "What do you want the new file to be called? : "; 
cin >> ans2; 
ifstream read(ans.c_str()); 
for (i = 0; !read.eof(); i++) 
{ 
    read_function(line, read); 
    write_function(line, ans2); 
} 
return 0; 
} 


string read_function(string line, string read) 
{ 
     getline(read, line, ' '); 
     cout << line; 
} 

void write_function(string line, string ans2) 
{ 
    ofstream write(ans2.c_str(), ios::app); 
    write << line; 
    write.close(); 
} 
+3

「何かを見つけるのに苦労している」とはどういう意味ですか?文字通り、 'read'オブジェクトは' ifstream'型であり、あなたは_ifstream_の参照にリンクしています。何が問題ですか? –

+0

私は変数を関数に渡して渡す必要があり、どのデータ型がわからないのですか – ToastehMonkey

+0

そこにはちょうどいいと言われています。これはトロールですか? @doctorloveいいえではありません –

答えて

3

あなたはifstream readを持っていますが、

string read_function(string line, ifstream & read) 
           // ^------ 

read_functionに機能を変更した場合は機能

string read_function(string line, string read) 
           // ^------ 

は、第2パラメータではなく、文字列としてストリームを期待しています。

次の機能で同様の問題が発生します。

このコメントは、他の問題点を指摘しています。

型に関するエラーが発生した場合は、後で座って、関数に渡すものと期待するものを見てください。

+0

ありがとう、これは私が知る必要があったことです。他の人には申し訳ありませんが、C++を使い始めたばかりなので、私の質問はあなたにとって奇妙に思えるかもしれません。 :) – ToastehMonkey

+0

助けてくれてうれしいです。練習を続けなさい。質問を続けてください。 1つか2つの良い本を探してください(コメントのリストを見てください)。上司/仕事仲間にも相談してください。 – doctorlove

関連する問題