1. 程式人生 > 實用技巧 >VS2019呼叫函數出現錯誤 : 錯誤 C4996 ‘scanf‘: This function or variable may be unsafe.

VS2019呼叫函數出現錯誤 : 錯誤 C4996 ‘scanf‘: This function or variable may be unsafe.

由於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

在這裡插入圖片描述

三種方法都可以。