【Qt问题记录】使用QDebug类输出不带转义或双引号
2023-12-16 04:51:57
问题
使用Qt进行编程时,需要借助输出信息验证编码的正确性。
默认情况下,如果输出的是字符串,qDebug()
会在字符串的两侧加上引号,有时还会转义。
如下所示:
QString strInfo = QStringLiteral("helloworld");
qDebug() << strInfo;
输出结果是:
解决方案
有以下三种解决方案:
- 使用
qDebug().noquote()
qDebug().noquote()
是 Qt 框架中的一个函数,用于在调试输出中显示不带引号的字符串。
例如:
QString strInfo = QStringLiteral("helloworld");
qDebug().noquote() << strInfo;
2. 使用qDebug("strInfo")
如果是字符串,可以直接在qDebug()
函数内输出
qDebug("strInfo");
- 使用
strInfo.toStdString().data()
QString strInfo = QStringLiteral("helloworld");
qDebug() << strInfo.toStdString().data();
以上三种都可以输出不带双引号的字符串。
关闭程序的信息输出
需要在pro文件里加上一行预定义宏即可。
DEFINES += QT_NO_DEBUG_OUTPUT
结论
人生无须太多的准备,上帝给了我们腿与脚,就是让我们不停地前行
。
文章来源:https://blog.csdn.net/MrHHHHHH/article/details/135023640
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!