構建此字符串的最簡單方法是什麼? (我知道我可以去與焦炭鑄造等很長的路要走......寧願留的QString的範圍內),THX爲以下內容構建QString指針?
m_qstr = (m_qstr->toStdString() + "\r\n\r\n" + qstrResults.toStdString() + "\r\n");
構建此字符串的最簡單方法是什麼? (我知道我可以去與焦炭鑄造等很長的路要走......寧願留的QString的範圍內),THX爲以下內容構建QString指針?
m_qstr = (m_qstr->toStdString() + "\r\n\r\n" + qstrResults.toStdString() + "\r\n");
您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
,並只保留將QString:
*m_qstr = *m_qstr + "\r\n\r\n" + qstrResults + "\r\n";
你爲什麼打電話toStdString
?如果m_qstr是QString
,那麼連接QString
和const char*
應該沒有問題。我一直使用這種方法與我的Qt應用程序:
QString str = "Testing";
str += " concatenation.";
嘗試用指針 – jdl
(*m_qstr).append("\r\n\r\n").append(qstrResults).append("\r\n");
不能轉換 '爲const char *' 到 '的QString *' 在分配 – jdl
你使用'* m_qstr ='或'只是= m_qstr'? – Lochemage