南邮21栋

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

scanf()不会检查输入边界,可能造成数据溢出,scanf_s()会进行边界检查。

如name[5],

scanf("%s",name),如果输入abcdefgh,则会使得fgh溢出进入其他地方,造成程序错误,

容易被黑客利用;而scanf_s("%s",name),则会只会接收前5个输入,其后的无效,避免了程序的漏洞。

posted on 2018-02-28 15:42  南邮21栋  阅读(8656)  评论(0编辑  收藏  举报