VS常常提示函數不安全(報錯、報警告),該怎麼解決?

咱們在運行代碼時常常會報錯------>This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.c++

爲何會報錯?安全

Snipaste_2021-03-22_10-31-33.png

遇到這種狀況咱們把#define  _CRT_SECURE_NO_WARNINGS 1 放在代碼開頭,ide

如圖:Snipaste_2021-03-22_10-35-37.pngspa

再次運行代碼會發現不會再報錯,因爲考慮到每次新項目都從新加上這段代碼,比較麻煩,我這裏有一個永久在開頭加上這段話的一個方法。3d

第一種方法:orm

一勞永逸的解決辦法blog

可讓每一次新建的源文件中就包含這句代碼。
ip

方法:在VS的安裝路徑下搜索:newc++file.cpp這個文件,在文件中加上:it

#define  _CRT_SECURE_NO_WARNINGS 1io

之後建立的新的.c文件中都會自動有這句代碼。

找到本身VS路徑->在搜索框中搜索newc++file.cpp 回車

Snipaste_2021-03-22_10-44-49.pngSnipaste_2021-03-22_10-44-49.png

找到文件打開放入#define  _CRT_SECURE_NO_WARNINGS 1這句話保存,若是保存不上是由於權限不足,這裏推薦在網頁下載一個Notepad++

下載完成後右擊如圖所示打開,Ctrl+s保存,接下來咱們在VS中建立.c源文件時自動加上這句話。
Snipaste_2021-03-22_10-49-44.png




第二種方法:

設置項目屬性的預處理

右擊解決方案的項目名稱->屬性

Snipaste_2021-03-22_10-54-23.png

配置屬性->C/C++->預處理器

在預處理器定義處先加上一個分號在寫入_CRT_SECURE_NO_WARNINGS    點擊確認

Snipaste_2021-03-22_10-55-13.png

這種方法每一次項目都須要設置,比較麻煩不推薦。


第三種方法:

建立項目時選擇Win32控制檯應用程序

Snipaste_2021-03-22_10-59-59.png

如圖設置完成以後點擊完成,再次建立源文件寫代碼就不會安全報錯

Snipaste_2021-03-22_11-01-01.png

我的比較推薦第一種方法

這是我總結的三種方法,但願對初學者有必定的幫助。

相關文章
相關標籤/搜索