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

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

前言

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

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


解决方法

方法一:

scanf替换为scanf_s (不推荐)


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

方法二:

定义预定义符号_CRT_SECURE_NO_WARNINGS

在代码第一行输出:

#define _CRT_SECURE_NO_WARNINGS


一劳永逸的方法

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

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


在文件中加上:

#define _CRT_SECURE_NO_WARNINGS

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

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


方法三:

设置项目属性的预处理

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


在属性页中:

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

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

然后应用就可以了。


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

总结

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


相关文章
|
7月前
|
存储 编译器 C++
关于“VS2022无法打开头文件<graphics.h>” 以及编译时 “没有与参数列表匹配的重载函数实例”俩个问题的解决思路
关于“VS2022无法打开头文件<graphics.h>” 以及编译时 “没有与参数列表匹配的重载函数实例”俩个问题的解决思路
780 0
|
6天前
|
编译器 C语言 C++
c语言中代码运行时发生c++弹窗的解决方法
通过遵循这些步骤,你应该能够解决在C语言代码运行时出现C++弹窗的问题,确保代码在纯C环境中运行。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
19 0
|
10月前
|
编译器 文件存储 C++
一劳永逸的方法解决函数scanf报错问题
一劳永逸的方法解决函数scanf报错问题
124 0
|
5月前
|
安全 C语言 C++
VS中使用scanf函数报错如何解决?
VS中使用scanf函数报错如何解决?
26 0
|
9月前
|
编译器 Linux 测试技术
【C/C++】C语言工程转C++工程,去除旧代码中的警告和错误
将 C语言项目转为C++项目更新维护,处理旧代码中的警告和错误
268 0
|
10月前
|
编译器 C语言 C++
scanf返回值被忽略的原因及其解决方法(vs2019)
scanf返回值被忽略的原因及其解决方法(vs2019)
318 0
|
10月前
|
编译器 C++
5秒教你一劳永逸解决vs中scanf等函数无返回值的问题
5秒教你一劳永逸解决vs中scanf等函数无返回值的问题
106 0
|
12月前
|
安全 编译器 C语言
VS编译器警告scanf未定义的三种解决办法
我们开始学习编程时候上手第一门语言通常是C语言,我们还需要下载一个编译器,最常见的莫过于Microsoft公司开发的Visual Studio(下面都简称VS)系列编译器,但是VS中我们使用scanf等函数时语句总是报错,显示不安全。
VS编译器警告scanf未定义的三种解决办法
|
芯片 C++
【MDK(keil)编译错误】找不到main.o及解决方法、多处报错“未定义”
【MDK(keil)编译错误】找不到main.o及解决方法、多处报错“未定义”
735 0
【MDK(keil)编译错误】找不到main.o及解决方法、多处报错“未定义”
|
C++
库、dlopen、函数名都正确,dlsym出错了,怎么回事
库、dlopen、函数名都正确,dlsym出错了,怎么回事
95 0