当前栏目
解决VS中scanf()函数报错问题的四种方案(详细)
scanf函数在VS中报错的主要原因是 scanf被认为不安全而被编译器默认设置为禁用。
那么如何解决这个问题呢
法一:
仅将函数scanf替换为scanf_s即可,其他语法不变。但scanf_s函数并不是C语言函数库里的标准函数,而是VS编译器所提供的函数,所以并不推荐用这种方法来解决问题。
法二:
在代码的最顶端输入#define _CRT_SECURE_NO_WARNINGS
(!!!注意一定是最顶端不然依旧会报错)
错误示例:
正确示例:
这样就解决了,但是这个办法依然有缺陷,就是当我们每一次新建一个程序或者项目时,就要重新去在代码的最顶端输入#define _CRT_SECURE_NO_WARNINGS。这显然还不是我们想要的解决方案。
法三:
在VS的界面中,最顶端找到项目这一栏,点击属性
找到C/C++这一栏,选择预处理器,打开预处理器定义这一栏最右边的小三角,选择编辑。
在最上方的白框中输入_CRT_SECURE_NO_WARNINGS,点击确定,然后点击应用(切记是应用而非确定),但这种办法依旧不能一劳永逸(恼)。
法四:
打开文件资源管理器,找到visual studio 的安装路径,然后在该路径下搜索 “newc++file.cpp” (或可直接搜索,路径越细查找速度越快)
找到这个文件后复制粘贴到桌面上
输入#define _CRT_SECURE_NO_WARNINGS,后保存退出
将文件拖回原来的位置,点击替换目标中的文件,之后点击确认就好(如果直接在原位置更改保存的话会要管理员权限导致无法保存)
此后我们在VS中创建新的源C/CPP文件时会在开头自动输入
#define _CRT_SECURE_NO_WARNINGS,一劳永逸解决问题。
相关文章
- 前端面试 【JavaScript】— typeof 是否能正确判断类型?
- 前端面试 【JavaScript】— instanceof 能否判断基本数据类型?
- 前端面试 【JavaScript】— 能不能手动实现一下 instanceof 的功能?
- 前端面试 【JavaScript】— Object.is和=== 有什么区别?
- 前端面试 【JavaScript】— JS中类型转换有哪几种?
- 前端面试 【JavaScript】— == 和 ===有什么区别?
- 前端面试 【JavaScript】— 对象转原始类型是根据什么流程运行的?
- JavaScript 的 parseInt() 函数
- javascript实现两个数字进行组合
- JS监听键盘按键
- 大前端开发中的路由管理之五:Flutter篇
- Javascript的DOM操作
- 在Vue项目中使用WebSocket技术
- 新手向:前端程序员必学基本技能——调试JS代码
- React 毁了 Web 开发!
- 「JS 逆向百例」cnki 学术翻译 AES 加密分析
- 商标注册域名后缀用什么?商标和域名有哪些区别?
- 网站建设流程是怎样的?需要看重哪些细节?
- 网站域名商标注册流程是什么?网站域名商标有什么用?
- 如何建设一个实用性强的网站 网站上线后如何运营