【Qt】【qDebug】输出std::string字符串

我只能说这个方法很奇葩。但不这样,还没办法

【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

你可能感兴趣的:(Qt,C++,qt,c++,开发语言)