2013-07-26 8 views

答えて

2

のstd :: coutのと(printfのような)標準入出力で使用されるデフォルトのostreamはstdoutですが、それは必ずしもそうです。

出力はいつでも他の宛先にリダイレクトできます。これを参照する:http://www.tldp.org/LDP/abs/html/io-redirection.html

+0

これは、私はcoutを使用してデバイスのようなプリンタに出力できることを意味しますか?可能であれば、方法を提案することができます。 –

+0

@pranitkothariはい。デバイスファイル記述子を取得し、cout(ファイル記述子1で)をそれにリダイレクトすることです。あなたはコマンドラインでそれを行うことができます。上記のリンクはあなたにいくつかの手がかりを与えるかもしれません。 – lulyon

0

Sets whether the standard C++ streams are synchronized to 
the standard C streams after each input/output operation. 
8

同期がオフの場合、C++ストリームがより高速になることがあります。

デフォルトでは、すべての標準C++ストリームはそれぞれのCストリームと同期されています。

例:

#include <iostream> 
#include <cstdio> 
using namespace std; 
int main() 
{ 
    cout.sync_with_stdio(false); 
    cout << "Hello\n"; 
    printf("World\n"); 
    cout << "...\n"; 
} 

出力:

Hello 
... 
World 

trueにそれを変更するには、順番に、デフォルトの結果を与えます。 出力:

Hello 
World 
... 
+0

@POWしたがって、結論を出すことはできますか?同期していないと、cout/printfは注文を保証できないし、物事が印刷されることを保証できないこともありますか? –

+0

@pranitkothari必ずしもそうではありませんが、同期がオフになっていても 'endl'がシナリオを変更します – P0W

+0

@POW確かに、endlなしでは私は尋ねています。私はendlフラッシュバッファを知っています。しかし、何がない。 –

関連する問題