VisualStdio中scanf报错问题
一. 概述
- 报错代码及说明
报错代码为C4996
- 会在哪种编译器中报错?
VisualStdio系列编译器
- 为什么会报错?
因为VisualStdio比较严谨,认为scanf不安全。
二. 解决方法
- 按照VisualStdio所言,将scanf换成scanf_s
报错解决。
优点:安全
缺点:代码无法跨平台
- 在有scanf函数的.c文件的第一行写#define _CRT_SECURE_NO_WARNINGS 1
报错解决。
优点:代码不会存在跨平台问题
缺点:每个.c文件前都要添加,比较麻烦
- 在newc++file.cpp文件中加入这一行#define _CRT_SECURE_NO_WARNINGS 1
报错解决。
优点:每次新建文件会自动有这一行
缺点:无
- 在.c文件的第一行写#pragma warning(disable: 4996)
报错解决。
优点:无
缺点:无
很少有人会这么用
本篇博客为本人解决VisualStdio中scanf报错问题时的详细记录,如有错误之处,还望各位指正。
文章为原创,如要转载请注明出处