2016-07-27 8 views
0

に文字/文字列を入力すると、次のプログラムを検討:私は間違って入力文字列、またはchar、変数numに、その値にしていますならば、このようのQt、QTextStream - int型

int num; 

QTextStream(stdin) >> num; 

QTextStream(stdout) << num; 

をデフォルトでは0になります。

QTextStreamの動作を変更して、誤った入力に対して異なる値を保存するにはどうすればよいですか?たとえば、-1?

+0

QTextStreamをサブクラス化し、演算子>>(int)をオーバーロードすることができます。 –

答えて

2

この動作は変更できませんが、QTextStream::status()QTextStream::ReadCorruptDataです。

int num; 

QTextStream input(stdin); 
input >> num; 

if (input.status() == QTextStream::ReadCorruptData) 
    num = -1; 

QTextStream(stdout) << num; 
関連する問題