【问题标题】:Qt, QTextStream - inputting a char/string into an intQt,QTextStream - 将字符/字符串输入到 int
【发布时间】:2016-07-27 15:27:09
【问题描述】:

考虑以下程序:

int num;

QTextStream(stdin) >> num;

QTextStream(stdout) << num;

这样,如果我在变量num中错误地输入了一个字符串,或者一个字符,它的值默认为0。

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

【问题讨论】:

  • 你可以继承 QTextStream 并重载操作符>>(int)。

标签: c++ qt qtextstream


【解决方案1】:

您无法更改此行为,但您可以在QTextStream::status() 中查看QTextStream::ReadCorruptData

int num;

QTextStream input(stdin);
input >> num;

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

QTextStream(stdout) << num;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多