0
考慮下面的程序:的Qt,QTextStream - 輸入字符/串轉換爲一個int
int num;
QTextStream(stdin) >> num;
QTextStream(stdout) << num;
這樣,如果我錯誤地輸入一個字符串或字符,到變量num
,它的價值默認爲0。
如何更改QTextStream
的行爲,以便爲不正確的輸入存儲不同的值?例如,-1?
考慮下面的程序:的Qt,QTextStream - 輸入字符/串轉換爲一個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;
您可以繼承QTextStream並重載操作符>>(int)。 –