2013-03-20 96 views
1

我想即QString轉換爲長期使用這個命令:Qt的C++轉換QString時,長

 QTextStream stream(&file); 
     QString content = stream.readAll(); 
     qDebug() << "String: " << content; 
     bool ok; 
     long long a = content.toLong(&ok, 10); 
     qDebug() << a; 
     file.close(); 

,但我得到下面的輸出從qDebug:

String: "123451234512345 
" 
0 

看來這QString的可以」因爲我總是得到0,所以我將它轉換爲long long變量。我試圖將1234這樣的較小數字轉換成它,但是當我嘗試轉換這個大數字時,我遇到了問題。請幫助

回答

5

無符號長整型(32位)的最大值爲4294967295 - 對於有符號長整數的一半 - 您的值超出了一半。您應該使用toLongLong函數。

+0

謝謝,現在沒事了 – Alen 2013-03-20 23:03:30