我正在使用 C++/Qt 打印函数 qDebug,但有时我想控制如何添加 “、空格和换行符,而不是使用默认的 qDebug。
我们举一个简单的例子:
QString var1("some string");
int var2 = 1;
qDebug() << var1 << "=" << var2;
这将打印
"some string" = 1
但是假设我不喜欢附加的 ” 和空格,并且希望打印看起来像
some string=1
然后我如何调用 qDebug?
注意: qDebug 中有一个 名为 nospace 的函数,但它会删除空格。但是“”仍然存在。
如果我使用这个:
qDebug().nospace() << var1 << "=" << var2;
我得到:
"some string"=1
但请注意,我仍然没有找到摆脱结尾换行符的方法。
/谢谢
原文由 Johan 发布,翻译遵循 CC BY-SA 4.0 许可协议
试试这个格式:
qDebug("%s=%d", "string", 1);
在这种情况下qDebug
使用 printf 格式PS适用于您的示例:
qDebug("%s=%d", var1.toStdString().c_str(), var2);