Qt,QTextStream - 输入一个 char/string 到一个 int
Qt, QTextStream - inputting a char/string into an int
考虑以下程序:
int num;
QTextStream(stdin) >> num;
QTextStream(stdout) << num;
像这样,如果我要错误地向变量num
输入一个字符串,或者一个字符,它的值默认为0。
如何更改 QTextStream
的行为,以便它为不正确的输入存储不同的值?例如,-1?
您无法更改此行为,但您可以检查 QTextStream::status()
是否有 QTextStream::ReadCorruptData
。
int num;
QTextStream input(stdin);
input >> num;
if (input.status() == QTextStream::ReadCorruptData)
num = -1;
QTextStream(stdout) << num;
考虑以下程序:
int num;
QTextStream(stdin) >> num;
QTextStream(stdout) << num;
像这样,如果我要错误地向变量num
输入一个字符串,或者一个字符,它的值默认为0。
如何更改 QTextStream
的行为,以便它为不正确的输入存储不同的值?例如,-1?
您无法更改此行为,但您可以检查 QTextStream::status()
是否有 QTextStream::ReadCorruptData
。
int num;
QTextStream input(stdin);
input >> num;
if (input.status() == QTextStream::ReadCorruptData)
num = -1;
QTextStream(stdout) << num;