0

建立这个字符串的最简单方法是什么?(我知道我可以在字符转换等方面走很长一段路……更喜欢留在 QString 的上下文中)thx

m_qstr = (m_qstr->toStdString() + "\r\n\r\n" + qstrResults.toStdString()  + "\r\n");

在此处输入图像描述

4

3 回答 3

5

使用QString 追加

(*m_qstr).append("\r\n\r\n").append(qstrResults).append("\r\n");
于 2013-08-05T20:00:53.340 回答
2

你为什么打电话toStdString?如果 m_qstr 是 a ,则连接andQString应该没有问题。我在我的 Qt 应用程序中一直使用这种方法:QStringconst char*

QString str = "Testing";
str += " concatenation.";
于 2013-08-05T19:59:01.220 回答
1

m_qstr是一个 QString 指针,你正试图给它分配一个std::string. 首先,您需要取消引用指针以便获取对象,然后您可以使用 c_str() 将 std::string 转换为 char* ,以便 QString 可以复制它:

*m_qstr = (m_qstr->toStdString() + "\r\n\r\n" + qstrResults.toStdString()  + "\r\n").c_str();

另一种方法,可能是更好的方法是不要将所有内容都转换为std::string并保留 QStrings:

*m_qstr = *m_qstr + "\r\n\r\n" + qstrResults + "\r\n";
于 2013-08-05T19:56:59.433 回答