scanf和scanf_s的区别
写代码的时候用vscode提醒scanf()不安全,需要试用scanf_s(),后来去查阅资料发现,scanf()函数有漏洞。
漏洞来源是scanf()中的字符串可能会溢出,带来不必要的安全隐患。
char str[10]={"\0"}; scanf("%s",str);
如果输入字符串大于10个字符,那么就会有字符溢出,溢出的字符会转移到其他内存空间去。
而scanf_s()解决了这个问题,以上为例,要想防止buffer overload,那么就可以输入scanf_s("%s",str,10);这样就会安全了

浙公网安备 33010602011771号