scanf()不会检查输入边界,可能造成数据溢出,scanf_s()会进行边界检查。
如name[5],
scanf("%s",name),如果输入abcdefgh,则会使得fgh溢出进入其他地方,造成程序错误,
容易被黑客利用;而scanf_s("%s",name),则会只会接收前5个输入,其后的无效,避免了程序的漏洞。
scanf()不会检查输入边界,可能造成数据溢出,scanf_s()会进行边界检查。
如name[5],
scanf("%s",name),如果输入abcdefgh,则会使得fgh溢出进入其他地方,造成程序错误,
容易被黑客利用;而scanf_s("%s",name),则会只会接收前5个输入,其后的无效,避免了程序的漏洞。
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。