考虑以下计划:
int num;
QTextStream(stdin) >> num;
QTextStream(stdout) << num;
像这样,如果我错误地将字符串或字符串输入到变量num
中,默认情况下其值将变为0。
如何更改QTextStream
的行为,以便为不正确的输入存储不同的值?例如,-1?
答案 0 :(得分:2)
您无法更改此行为,但可以QTextStream::status()
检查QTextStream::ReadCorruptData
。
int num;
QTextStream input(stdin);
input >> num;
if (input.status() == QTextStream::ReadCorruptData)
num = -1;
QTextStream(stdout) << num;