处理一个警告

代码研究所 2012-11-13 05:24:20
warning C4996: 'scanf' was declared deprecated

怎么警告什么意思,怎么处理?
...全文
220 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
max_min_ 2012-11-13
  • 打赏
  • 举报
回复
引用 5 楼 qq120848369 的回复:
scanf是不安全的, 因为对于%s这种格式, 无论多长它都会往你的buffer里塞, windows有自己的scanf_s,不知道是不是防御这个的。 对于linux来讲,fgets后自己分析字段会是最安全的,记住别用scanf里的%s就可以了。
++
qq120848369 2012-11-13
  • 打赏
  • 举报
回复
scanf是不安全的, 因为对于%s这种格式, 无论多长它都会往你的buffer里塞, windows有自己的scanf_s,不知道是不是防御这个的。 对于linux来讲,fgets后自己分析字段会是最安全的,记住别用scanf里的%s就可以了。
mujiok2003 2012-11-13
  • 打赏
  • 举报
回复
如果你确信没有安全问题,禁用这个警告即可(见3楼)
ForestDB 2012-11-13
  • 打赏
  • 举报
回复
顶LS两位,微软搞了个s系列的函数。
图灵狗 2012-11-13
  • 打赏
  • 举报
回复
在前面加上#define _CRT_SECURE_NO_DEPRECATE即可解决。
漫步者、 2012-11-13
  • 打赏
  • 举报
回复
警告没有有问题,在05,08以上都进行了扩展,采用了sscanf的形式!

70,020

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧