我正在尝试将宽 c 字符串从一个地方复制到另一个地方。我在 windows8 64 位平台上使用 Visual Studio 2012 express。除非我尝试在使用 Windows7 x64 的主计算机上运行该应用程序,否则它工作得非常好。它立即崩溃。没有异常错误,尽管它是一个没有任何可跟踪错误代码的混乱崩溃。如果您需要有关崩溃本身的更多具体信息,我将尝试提供。当我注释掉复制程序时,它工作得很好。所以很明显问题出在函数本身。这是执行所有复制的行:
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());
}
^ 在 win7 上崩溃/在 win8 上工作
我的疯狂猜测是新编译器使用了新版本的 wmemcpy,它在 Windows 7 上不起作用?程序不应该只在到达函数调用行时才崩溃吗?