我只能说这个方法很奇葩。但不这样,还没办法
【Qt】【qDebug】输出std::string字符串
我有个参数是std::string,需要用QDeubg打印,
有三种方法:
std::string sourceID = "call-goodmao";
1.直接用std::cout输出
但不保证多线程打印的问题。QDebug可以用于多线程。
std::cout << "sourceID : " << sourceID << std::endl;
2.QDubug的“<<”输出方法
QString qstr = QString::fromStdString(str);
qDebug() << "sourceID : " << qstr;
3.QDebug的括号输出方法
QDebug不能直接输出std::string,需要先转换成QString;
QDebug也不能直接输出QString,还需要调用函数:qPrintable()。
QString qstr = QString::fromStdString(str);
qDebug("souceID : %s", qPrintable(qstr));
【感谢】:
感谢帮我纠正代码问题的好友:
louis_cheng_61