2011-07-06 29 views
1

iostream 入出力演算子を同じステートメントで使用したいと思います。ユーザーには向いていませんが、正常に取得できなかったようです。IOSTREAMを使用して同じ行に出力と入力

コードフラグメント:

int value = 0; 
std::cout << "Number 1: " <<std::cin>> value << std::endl; 

はcoutをcinを使ってこれを実行する方法はありますか?

+2

を望んだと思います。 << >> >><< >><<の束が混乱するでしょう。 –

答えて

3
struct IO { 
    template <typename T> 
    const IO & operator << (const T & t) const { 
     std :: cout << t; 
     return *this; 
    } 

    template <typename T> 
    const IO & operator >> (T & t) const { 
     std :: cin >> t; 
     return *this; 
    } 
}; 

IO() << "Number 1: " >> value; 
+0

申し訳ありませんが、ここでは機能しません。実装上問題があるかどうかはわかりません。 –

+1

@ブーノ:「うまくいきません」というのは、「バナナ! –

+1

@spraff:[* Ahem *](http://www.ideone.com/Abw29)。 –

-3
std::cout << "Number 1: "; 
std::cin >> value; 

このトリックを行う必要があります。

+0

これは2行です。 :-) –

+0

私はそれを知っているが、私は他の半分が私と他の人のために挑戦を開始したいと思う。 –

+0

OPは具体的に_代替の_を求めました。 Plz2readTheQ! –

2

少し厄介が、私は、これはあなたが読み取り可能なコードを保持COUTとCINを使用して

std::cout<<"Data : "<<val<<std::endl<<(std::cin>>val)<<"\r"<<"\t\r\n"<<std::flush; 
関連する問題