[英]C/C++ , How to deny inputting char/string when waiting for the user to input a int , float or whatsoever?
[英]Qt, QTextStream - inputting a char/string into an int
考虑以下程序:
int num;
QTextStream(stdin) >> num;
QTextStream(stdout) << num;
像这样,如果我将字符串或char错误地输入到变量num
,则默认情况下其值为0。
如何更改QTextStream
的行为,以便为错误的输入存储不同的值? 例如-1?
您不能更改此行为,但是可以检查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.