解决vs运行时报C4996代码错误

推荐阅读

智能化校园:深入探讨云端管理系统设计与实现(一)
智能化校园:深入探讨云端管理系统设计与实现(二)


文章目录

  • 推荐阅读
      • 问题产生
      • 问题原因
      • 解决方案:
        • 方案一:
        • 方案二:


问题产生

今天偶然用vs运行一段C代码时,程序报错无法运行,系统找不到指定文件。
简单而言就是当前项目的Debug文件中找不到该项目的可执行文件.exe。
解决vs运行时报C4996代码错误_第1张图片

我先尝试打开了该项目的属性,查看了下该模式下所生成的可执行文件的位置,发现存在该文件路径啊。解决vs运行时报C4996代码错误_第2张图片
解决vs运行时报C4996代码错误_第3张图片
然后我回到本地存储的路径,发现原来程序运行根本就没有生成.exe的可运行文件。那肯定找不到.exe运行文件啊。
然后去看程序报错
解决vs运行时报C4996代码错误_第4张图片

问题原因

查资料后发现,问题产生原因:
由于微软在VS中不建议再使用C的传统库函数scanf,strcpy,sprintf等,所以直接使用这些库函数会提示C4996错误。
VS建议采用带_s的函数,如scanf_s、strcpy_s,但这些并不是标准C函数。

解决方案:

方案一:

首先找到自己的项目,右键项目,选择项目属性,将SDL检查关闭,如下图就行。
解决vs运行时报C4996代码错误_第5张图片 这样项目就可以直接运行了。

方案二:

添加宏定义

//这个宏定义最好要放到.c文件的第一行, 二选一即可
#define _CRT_SECURE_NO_WARNINGS
#pragma warning(disable:4996)

image.png
这样,程序也可以成功运行起来了。
程序员不是在去生产bug的路上,那就是在去解决bug的路上。

解决vs运行时报C4996代码错误_第6张图片

你可能感兴趣的:(bug,c++,bug)