使用 ostringstream 导致程序崩溃
Using ostringstream causing program crash
我有一些旧的 C++ applications/services,我需要在 Windows 2003 上维护 运行(不是选择)。我已经准备好一切并使用 VS 2013,但现在我无法让任何 C++ 项目再次运行。他们只是崩溃。我将范围缩小到何时使用 stringstream,因此我编写了一个示例 Win32 exe 来进行测试。
这些是我在 VS 2013 Update 5 中更改的唯一设置:
设置为使用平台工具集 = Visual Studio 2013 - Windows XP (v120_xp)。特点
设置 = 使用多字节字符集。
int _tmain(int argc, _TCHAR* argv[])
{
ostringstream zs;
zs << "Hello";
string strTemp = zs.str();
printf("%s\n", zs.str().c_str());
return 0;
}
它在 zs << "Hello";
上崩溃
在 Visual Studio 2013 及更高版本中,用于多字节字符编码 (MBCS) 的 MFC 库作为 Visual Studio 的单独附加组件提供,可从 MSDN 下载站点下载.
我有一些旧的 C++ applications/services,我需要在 Windows 2003 上维护 运行(不是选择)。我已经准备好一切并使用 VS 2013,但现在我无法让任何 C++ 项目再次运行。他们只是崩溃。我将范围缩小到何时使用 stringstream,因此我编写了一个示例 Win32 exe 来进行测试。
这些是我在 VS 2013 Update 5 中更改的唯一设置: 设置为使用平台工具集 = Visual Studio 2013 - Windows XP (v120_xp)。特点 设置 = 使用多字节字符集。
int _tmain(int argc, _TCHAR* argv[])
{
ostringstream zs;
zs << "Hello";
string strTemp = zs.str();
printf("%s\n", zs.str().c_str());
return 0;
}
它在 zs << "Hello";
上崩溃在 Visual Studio 2013 及更高版本中,用于多字节字符编码 (MBCS) 的 MFC 库作为 Visual Studio 的单独附加组件提供,可从 MSDN 下载站点下载.