VS编译器对scanf函数不安全报错的解决办法(详细步骤)

VS编译器对scanf函数不安全报错的解决办法(详细步骤)_第1张图片

博客主页:爱敲代码的小杨.

✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》

❤️感谢大家点赞收藏⭐评论✍,您的三连就是我持续更新的动力❤️

小杨水平有限,欢迎各位大佬指点,相互学习进步!


文章目录

  • 前言
  • 解决方法
    • 方法一:
    • 方法二:
    • 方法三:
  • 总结

前言

为什么同一份代码在Dev-c++编译器中能正常运行,而在VS中则报错呢?

VS编译器对scanf函数不安全报错的解决办法(详细步骤)_第2张图片

原因:scanf此函数或变量可能不安全,要禁用弃用,所以上诉代码在VS中会报错

image-20240205215941253

解决方法

方法一:

scanf替换为scanf_s (不推荐)

VS编译器对scanf函数不安全报错的解决办法(详细步骤)_第3张图片

scanf_s这个函数仅仅是VS这个编译器提供的,如果把代码放到其他编译器可能会编译不过,这个时候会出现一些跨平台的问题。

方法二:

定义预定义符号_CRT_SECURE_NO_WARNINGS

在代码第一行输出:

#define _CRT_SECURE_NO_WARNINGS

VS编译器对scanf函数不安全报错的解决办法(详细步骤)_第4张图片

一劳永逸的方法

可以让每一次新建的源文件中就包含这句代码:

方法:在VS的安装路径下搜索:newc++file.cpp这个文件

VS编译器对scanf函数不安全报错的解决办法(详细步骤)_第5张图片

在文件中加上:

#define _CRT_SECURE_NO_WARNINGS

以后创建的的新的.c或者.cpp文件中都会自动有这句代码。

PS:如果觉得系统的搜索太慢的,可以下载Everything这个软件

方法三:

设置项目属性的预处理

打开工程的【解决方法资源管理器】->【属性】

VS编译器对scanf函数不安全报错的解决办法(详细步骤)_第6张图片

在属性页中:

【属性配置】->【C/C++ ->预处理器】->【预处理定义】中增加:

_CRT_SECURE_NO_WARNINGS,每个符号都用分号隔开的

然后应用就可以了。

VS编译器对scanf函数不安全报错的解决办法(详细步骤)_第7张图片

这种方法,每次项目都要设置,比较麻烦。

总结

个人推荐使用方法二,一劳永逸。

你可能感兴趣的:(C生万物,工具环境安装,c语言,c++)