[英]Qt, QTextStream - inputting a char/string into an int
Consider the following program: 考虑以下程序:
int num;
QTextStream(stdin) >> num;
QTextStream(stdout) << num;
Like this, if I am to incorrectly input a string, or a char, into the variable num
, its value becomes 0 by default. 像这样,如果我将字符串或char错误地输入到变量num
,则默认情况下其值为0。
How can I change the behavior of QTextStream
, so that it stores a different value for incorrect inputs? 如何更改QTextStream
的行为,以便为错误的输入存储不同的值? For example, -1? 例如-1?
You cannot change this behavior, but you can check QTextStream::status()
for QTextStream::ReadCorruptData
. 您不能更改此行为,但是可以检查QTextStream::ReadCorruptData
QTextStream::status()
。
int num;
QTextStream input(stdin);
input >> num;
if (input.status() == QTextStream::ReadCorruptData)
num = -1;
QTextStream(stdout) << num;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.