0
試圖找出爲什麼我只有不到1%的時間將問題寫入記憶。就像從一個隨機線程一樣,它不能寫入。我想知道如果鑄件不穩定?將QString強制轉換爲char *不穩定?
char *str = (char*)q_str.toStdString().c_str();
memcpy(m_list + m_count + m_length, str, strlen(str));
m_count++;
試圖找出爲什麼我只有不到1%的時間將問題寫入記憶。就像從一個隨機線程一樣,它不能寫入。我想知道如果鑄件不穩定?將QString強制轉換爲char *不穩定?
char *str = (char*)q_str.toStdString().c_str();
memcpy(m_list + m_count + m_length, str, strlen(str));
m_count++;
toStdString()
返回一個臨時值。該臨時文件在分號處被銷燬,此時str
成爲懸掛指針。做成
string s = q_str.toStdString();
memcpy(m_list + m_count + m_length, s.c_str(), s.length());