2013-03-20 45 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