0

考虑以下程序:

int num;

QTextStream(stdin) >> num;

QTextStream(stdout) << num;

像这样,如果我错误地将字符串或字符输入到变量num中,它的值默认为 0。

如何更改 的行为QTextStream,以便它为不正确的输入存储不同的值?例如,-1?

4

1 回答 1

2

您无法更改此行为,但可以QTextStream::status()检查QTextStream::ReadCorruptData.

int num;

QTextStream input(stdin);
input >> num;

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

QTextStream(stdout) << num;
于 2016-07-27T15:57:34.013 回答