25

Time クラスで使用するために入力ストリーム演算子をオーバーロードしています。入力が予想される時刻形式 (hh:mm) と一致しない場合は、入力ストリームのフェイルビットを手動で設定したいと考えています。これはできますか?どのように?

ありがとう!

4

1 に答える 1

31

ios::setstateはい、次のように で設定できます。

#include <iostream>
#include <ios>

int main()
   {
   std::cout << "Hi\n";

   std::cout.setstate(std::ios::failbit);

   std::cout << "Fail!\n";
   }

は障害状態であるため、2 番目の出力は生成されませんcout

(例外は私にはきれいに思えますが、YMMV)

于 2009-10-28T22:43:38.973 に答える