2012-05-04 7 views
1

出力をパラメータで出力する関数を作成したいとします。
私はofstreamポインタを渡すと同様に、それぞれのファイルに出力を出力するはずです。一方、私がcoutなどを渡すと、ターミナルに印刷されます。C++ターミナルとファイルに出力する関数を作成する方法

感謝:)

+0

この宿題はありますか? – TheBuzzSaw

+0

宿題がありません 実際には、これを行うには関数のオーバーロードを使用しましたが、それ以外の方法で行うと思いました。 ここに掲載されています。 – Jaydeep

+0

ちょうど好奇心。可能な割り当てのように聞こえました。 – TheBuzzSaw

答えて

3
void display(std::ostream& stream) 
{ 
    stream << "Hello, World!"; 
} 

... 

display(cout); 

std::ofstream fout("test.txt"); 
display(fout); 
+0

C++の初心者であるため、あなたの答えは分かりやすいと感じました。 – Jaydeep

1

これはそれを行う必要があります(これはどのストリームに書き込むことができます

ofstream out_file("some_file"); 
output_something(out_file, "bleh"); // prints to "some_file" 
output_something(std::cout, "bleh"); // prints to stdout 
2
template<typename CharT, typename TraitsT> 
void print(std::basic_ostream<CharT, TraitsT>& os) 
{ 
    // write to os 
} 

template<class T> 
std::ostream &output_something(std::ostream &out_stream, const T &value) { 
    return out_stream << value; 
} 

を次に、あなたがこのようにそれを使用します狭いか広い、カスタム特性を可能にする)。

関連する問題