解决VS2013中出现类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误
我用的是visual studio 2019,提示出錯(cuò)。用下面第5種辦法,完美解決問題。。。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
??? 用習(xí)慣了VS老版本的人當(dāng)剛使用VS2013的時(shí)候可能總遇到類似于這樣的錯(cuò)誤:
??? error C4996: 'scanf': 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.
??? 也就是所謂的安全檢查錯(cuò)誤。例如下圖中就是一個(gè)最簡(jiǎn)單的程序結(jié)果出現(xiàn)這種錯(cuò)誤。
??? 這個(gè)問題一般使用以下幾種解決辦法:
(1)scanf等類似的函數(shù)已經(jīng)不太安全,要想保證程序的安全性,建議以后采用_s結(jié)尾的安全版本,但是很多以前的程序可能還是使用不安全的版本,那么下面給出去掉這種錯(cuò)誤提示的幾種辦法。
(2)在VS中新建項(xiàng)目的時(shí)候去掉“安全開發(fā)生命周期(SDL)檢查”即可將錯(cuò)誤轉(zhuǎn)變成警告,使得使用不安全版本也不影響編譯和運(yùn)行,如下圖所示。
(3)在頭文件包含的最前面,記住是最前面(在include的前面)加上:#define _CRT_SECURE_NO_WARNINGS這個(gè)宏定義即可,如下圖所示。
(4)在編譯的頭文件最前面加上:#pragma warning( disable : 4996)即可,類似于上圖,此處不再附圖。
(5)通過以下步驟Project properties->Configuration Properties->C/C++->Preprocessor->Preprocessor Definitions進(jìn)入到預(yù)處理的定義中,點(diǎn)擊按鈕 (...),輸入:_CRT_SECURE_NO_WARNINGS,使用 "\n" 相隔即可。
??? 總之,如果想完全不做安全檢查,就使用(2)中的方法或者(5)中的方法,如果只是對(duì)某些文件不使用,可以使用(3)和(4)中的方法,個(gè)人喜歡使用(2)中的方法,大家可以根據(jù)按需選擇,不過隨著安全性的重要程度在逐步提高,還是建議大家以后使用安全版本。
---------------------
原文:https://blog.csdn.net/dan15188387481/article/details/49622783/
總結(jié)
以上是生活随笔為你收集整理的解决VS2013中出现类似于error C4996: 'scanf': This function or variable may be unsafe的安全检查错误的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenCV3编程入门(毛星云)之用滚动
- 下一篇: 为什么有那么多的水,源源不断从山上流下来