| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 19266 人关注过本帖
标题:vs2017 c4996问题怎样永久解决?
只看楼主 加入收藏
凤凰院凶假
Rank: 2
来 自:春天里
等 级:论坛游民
威 望:1
帖 子:36
专家分:33
注 册:2016-12-22
结帖率:83.33%
收藏
已结贴  问题点数:10 回复次数:7 
vs2017 c4996问题怎样永久解决?


C4996    'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details


百度了这个问题,但是得到的答案都只能解决这一次错误,下一次又要重新设置。
1:使用安全的函数替换老的函数
2:屏蔽警告信息
a.#pragma warning(disable:4996)
b.在预编译头文件stdafx.h里定义下面的宏(include其他头文件的最前面):

  #define
_CRT_SECURE_NO_DEPRECATE或#define_CRT_SECURE_NO_WARNINGS
c.更改预处理定义:

  项目->属性->配置属性->C/C++ -> 预处理器 -> 预处理器定义,增加_CRT_SECURE_NO_DEPRECATE


还有一个方法是关闭 “安全开发生命周期检查”
但是2017版的vs没找到这个选项。

求大佬指点。
搜索更多相关主题的帖子: vs2017 函数 头文件 定义 预处理 
2017-09-13 20:58
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:10 
不用这个函数,使用它的安全版本scanf_s()

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-09-14 00:09
凤凰院凶假
Rank: 2
来 自:春天里
等 级:论坛游民
威 望:1
帖 子:36
专家分:33
注 册:2016-12-22
收藏
得分:0 
看样子这个版本只能这样解决了。
大佬们有其他适合初学者的编译器吗?
2017-09-14 08:12
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
回复 3楼 凤凰院凶假
VS就是最适合新人的。
gcc什么的有学习成本。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-09-14 09:21
renkejun1942
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:不是这样
等 级:贵宾
威 望:33
帖 子:1645
专家分:5297
注 册:2016-12-1
收藏
得分:0 
VS的某些地方的确很烦人,但是它们对学习者是有好处的。
scanf等一些函数是不安全的。

09:30 05/21 种下琵琶种子,能种活么?等待中……
21:50 05/27 没有发芽。
20:51 05/28 没有发芽。
23:03 05/29 没有发芽。
23:30 06/09 我有预感,要发芽了。
2017-09-14 09:22
凤凰院凶假
Rank: 2
来 自:春天里
等 级:论坛游民
威 望:1
帖 子:36
专家分:33
注 册:2016-12-22
收藏
得分:0 
嗯嗯,谢谢大佬
2017-09-14 09:32
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
以下是引用凤凰院凶假在2017-9-14 08:12:52的发言:

有其他适合初学者的编译器吗?

除了一些份额小到可忽视的特殊的小众行业,C编译器不是gcc,就是clang。
2017-09-14 15:12
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
C语言基本上用的都是gcc,用VC的C程序员是0%,但随着VC2013开始逐步支持C语言,有可能未来会有使用使用VC的C程序员。

用VC的C++程序员比较多
从全平台上看,前三大C++编译器是 gcc(65%), clang(20%), icc(3%)。VC占的份额比较少,少到没法统计,只能算在“其它编译器”类中。
从Windows平台看,VC的份额就比较吓人了,不亏是“宇宙第一IDE”,能占到三分之一强(36%),但仍然低于gcc(包括mingw)的份额(47%)
2017-09-14 15:28
快速回复:vs2017 c4996问题怎样永久解决?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.027524 second(s), 11 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved