前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >VS编译器对scanf函数不安全报错的解决办法(详细步骤)

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

作者头像
爱敲代码的小杨.
发布2024-05-07 18:49:13
1610
发布2024-05-07 18:49:13
举报
文章被收录于专栏:Java
C语言
C语言

前言

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

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

解决方法

方法一:

scanf替换为scanf_s (不推荐)

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

方法二:

定义预定义符号_CRT_SECURE_NO_WARNINGS

在代码第一行输出:

代码语言:javascript
复制
#define _CRT_SECURE_NO_WARNINGS

一劳永逸的方法

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

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

在文件中加上:

代码语言:javascript
复制
#define _CRT_SECURE_NO_WARNINGS

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

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

方法三:

设置项目属性的预处理

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

在属性页中:

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

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

然后应用就可以了。

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

总结

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 解决方法
    • 方法一:
      • 方法二:
        • 方法三:
        • 总结
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档