像scanf函數,sPRintf函數都會被標以不安全的錯誤~
那么該怎么辦呢?
===================================================================
百度的回答:
scanf()在讀取時不檢查邊界,所以可能會造成內存泄露,所以VS2013提供了scanf_s()來替代,在調用時,必須提供給scanf_s一個數字以表明讀取多少位字符,用法為scanf_s("%c",&letter,sizeof(letter)),否則,即使Ctrl+F7和Ctrl+F5通過了,程序的運行結果也可能與自己所期望大相徑庭的。如果非要用scanf函數,那么通過以下兩種方式可以禁止警告:(1)右擊項目——屬性——C/C++——預處理器——預處理器定義中增加_CRT_SECURE_NO_WARNINGS,然后點確定,退出。(2)在函數最頂頭進行定義:#define _CRT_SECURE_NO_WARNINGS,也可以禁止報錯警告。===================================================================但是,根據切身經驗來選擇,個人強烈推薦直接scanf_s(),sprintf_s()~
新聞熱點
疑難解答