1)
QString qtext;
string ctext = qtext.toLatin1();
qDebug("%s\n",ctext.data());
经测试,直接printf qtext.latin1().data()会出错.
2)
如果你用GDB调试的话,可以在~/.gdbinit文件中添加如下语句,然后在GDB提示符下输入printQstring跟QString变量名就可以看到打印了。
define printQstring
printf "(QString)0x%x (length=%i): \"",&$arg0,$arg0.d->size
set $i=0
while $i < $arg0.d->size
set $c=$arg0.d->data[$i++]
if $c < 32 || $c > 127
printf "\\u0x%04x", $c
else
printf "%c", (char)$c
end
end
printf "\"\n"
end
阅读(4121) | 评论(1) | 转发(0) |