Qt 为什么使用QString打印时会出现双引号?

Qt 为什么使用QString打印时会出现双引号?,qt,Qt,我在Linux中使用Qt框架,是一个完全的初学者 当我打印一条简单的消息时,如: qDebug() << "Hello World"; QString str = "Hello World"; qDebug() << str; 在控制台中,输出是“Hello World”,(注意引号),如何使用QString?获得相同的输出您可以在Qt源代码中找到答案(下面链接中的实现细节): 您对有多种定义,请参见 禁用在QChar、QString和QByteArray内容周围自

我在Linux中使用Qt框架,是一个完全的初学者

当我打印一条简单的消息时,如:

qDebug() << "Hello World";
QString str = "Hello World";
qDebug() << str;

在控制台中,输出是
“Hello World”
(注意引号),如何使用
QString

获得相同的输出您可以在Qt源代码中找到答案(下面链接中的实现细节):

您对有多种定义,请参见

禁用在QChar、QString和QByteArray内容周围自动插入引号字符,并返回对流的引用

禁用引用时,打印这些类型时不带引号字符,也不转义不可打印的字符

Qt5.4中引入了此函数

用法:

QString str = "Hello World";
qDebug().noquote() << str;
QString str=“你好世界”;

qDebug().noquote()可能重复:这是QString的实现方式。如果您想删除“”,请考虑使用STD::string,或者可能使用QByTurRay.您所发布的代码不是QT的源代码,它来自于答案应该包含一个链接(以及选项的解释),而不是Qt源代码中的注释。您忘记添加解决方案,只显示了解释。解决方案在末尾!qDebug().noquote()
QString str = "Hello World";
qDebug().noquote() << str;