我試圖從一個地方複製寬c字符串到另一個地方。我在Windows8 64位平臺上使用Visual Studio 2012 express。它工作得很好,除非我嘗試使用Windows7 x64在我的主計算機上運行應用程序。它立即崩潰。沒有異常錯誤,雖然它是一個混亂的崩潰,沒有可跟蹤的錯誤代碼。如果您需要更多關於崩潰本身的具體信息,我會盡力提供。當我評論出複製該程序的效果非常好。所以很明顯,問題在於函數本身。這裏是做所有的複製行:Win7上wmemcpy&wcscpy函數導致崩潰
virtual void CClass::ChangeText();
void CClass::ChangeText(float _f)
{
std::wstringstream wss;
wss << _f;
wcscpy(const_cast<wchar_t *>(this->m_lpszWideText),wss.str().c_str());
}
^崩潰/工程對win8的
我的胡亂猜測是,新的編譯器使用wmemcpy的較新版本是行不通的Windows 7的?程序不應該只在它到達函數調用行時崩潰?
怎麼是'm_lpszWideText '定義? – hmjd
它是我自己的(文本組件)類的成員指針:'private:const wchar_t * m_lpszWideText;' – user1756573
你如何爲它分配內存?爲什麼它需要修改時是'const'?爲什麼不使用'std :: wstring'? – hmjd