sprintf_s(和sprintf也)在Windows 7 64位中使用Visual Studio 2013时出错

时间:2013-09-08 05:38:01

标签: c x86-64 windows-7-x64 printf

我使用VS 2013在Windows 7 64位编程。 我已经有一个用Linux 64位开发的代码。该代码充满了sprintf()函数。

现在,我在Windows 64位中运行该代码,它显示警报窗口。 起初,我尝试了sprintf,它显示了使用sprintf_s。所以我改变了。

更改后,我的代码窗口显示此错误。

Program : ...visual studio
2012\Project\IIS_Partial\Debug\IIS_Partial.exe
File : f\dd\vctools\crt_bld\self_x86\crt\src\vsprintf.c
Line : 233

Expression : format != NULL

For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.

(Press retry to debug the application)

实际上我的代码是用C语言编写的。为什么这是指C ++。 我甚至可以调试,因为直接按下“调试”按钮会进入此错误窗口。有线索吗?

感谢您阅读:D

1 个答案:

答案 0 :(得分:0)

这只是一个简单的配置问题。 基本上Microsoft Visual Studio 2012正在编译为32位。

因此,如果有人想要以64位运行源代码,则必须更改选项。

右键点击[解决方案] - > [properties] - > [配置] - > [Configuration Manager](窗口右上角) - > [Active Solution Platform]流程菜单 - > - > upper是'x64',lower是'Win32'。检查下方框。

并确认。现在它建立在64位环境中。 Microsoft官方网站的原始解释是: http://msdn.microsoft.com/en-us/library/vstudio/9yb4317s.aspx