我在程序中用 了二种方法从QString转换成float
(1)float xx=(leXX->text()).toFloat();
(2)char *pXX=new char[20];
strcpy(pXX,leXX->text());
float xx=atof(pXX);
上面程序中leXX是QLineEdit的指针。而所指的QLineEdit用于输入xx的值。
另外我用gdb远程调试时看过leXX->text()的返回值,是输入时的数据。:(
该段程序在宿主机上不论用QT库还是QTE库,都运行正常。但移植到目标机上(SBC-2410)后,无论输入什么数,最后结果都是0;
而且在移植到目标机后对于语句:QString str=QString::number(xx,'f',2);(无论xx是什么数字)。都会引起段错误。(上述程序在宿主机上运行均正常)
我用的是QTE3.3.4的库。实在不清楚为什么会出现以上问题,我应该怎样着手查出相应的错误呢?(太奇怪的毛病了:()
[ 此贴被onebyte在2006-10-17 17:15重新编辑 ]