您的位置:首页 > 其它

scanf()函数在VS2013上运行报错的解决办法

2015-11-16 18:12 239 查看
在VS2013上初次运行C程序的scanf()函数,会出现以下的错误。

Error 1error 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.e:\program\c\c primer plus例子\chapter2\chapter2\chapter2\first.c5
1 Chapter2

      这是因为scanf()在读取时不检查边界,所以可能会造成内存泄露,所以VS2013提供了scanf_s()来替代,在调用时,必须提供给scanf_s一个数字以表明读取多少位字符,用法为scanf_s("%c",&letter,sizeof(letter))。

网上有很多解决方法,比如豆瓣http://www.douban.com/note/483422317/?type=like,个人认为,在新建控制程序中,去掉Security
Development Lifecycle (SDL) checks(如图1所示),可以很方便避免这个问题。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息