VS2019呼叫函數出現錯誤 : 錯誤 C4996 ‘scanf‘: This function or variable may be unsafe.
阿新 • • 發佈:2020-10-22
由於VS2019編譯器的特殊性,在呼叫一些函式時會出現類似以下錯誤:
C4996 ‘strcpy’: This function or variable may be unsafe. Consider
using strcpy_s instead. To disable deprecation, use
_CRT_SECURE_NO_WARNINGS. See online help for details.
這是因為這些C庫函式很多沒有內部檢查,微軟擔心這些函式可能造成棧溢位,所以改寫了這些函式,並在原來的函式名字後加上_s和C庫函式區分,比如strcpy變為strcpy_s等
解決方法:
1:
將原來所有的函式名全部改成微軟改寫後的函式名,如scanf_s()。
2:
在解決方案資源管理器中····> 專案屬性····> c/c++····> 前處理器中選擇,預處理定義,在其中加入巨集定義:_CRT_SECURE_NO_WARNINGS
3.在檔案頂部加入一行:#define _CRT_SECURE_NO_WARNINGS
三種方法都可以。