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刪除。