当前位置: 代码迷 >> QT开发 >> trimmed()不起作用,该如何处理
  详细解决方案

trimmed()不起作用,该如何处理

热度:160   发布时间:2016-04-25 05:08:30.0
trimmed()不起作用
trimmed()不是删除两端的空格吗 怎么不起作用。。

QString dfdfd = " d ";
dfdfd.trimmed();
int gg = dfdfd.length();
QMessageBox::information(NULL, ("open path11"),QString("%1").arg(gg));



输出结果为 3 ;




------解决方案--------------------
QString QString::trimmed () const
这个函数是有返回值的。返回值才是你要的去空格的QString


C/C++ code
QString dfdfd = " d "; dfdfd=dfdfd.trimmed(); int gg = dfdfd.length(); QMessageBox::information(NULL, ("open path11"),QString("%1").arg(gg));
------解决方案--------------------
要使用dfdfd.trimmed(); 的返回值
------解决方案--------------------
楼主这样写的结果当然是你本字符的实际长度。
你的原始字符时“ d “;
它的长度自然为3,而你的疑问是为什么你对字符串裁剪后它的长度还为3对吧?
理由是这样的,其实当你对dfdfd利用trimmed()进行裁剪时,它本身又产生了一个
新的QString,就是trimmed()的返回值。
但是你写的int gg = dfdfd.length();你没有用新的返回值,而是用你原来初始的dfdfd
所以会有你意想不到的效果。 


  相关解决方案