1. 程式人生 > >error C4996: 'scanf': This function or variable may be unsafe.Visual Studio系列編譯器使用scanf函式報錯

error C4996: 'scanf': This function or variable may be unsafe.Visual Studio系列編譯器使用scanf函式報錯

在使用Visual Studio 系列編譯器使用scanf函式是,是否需到下面這句話呢?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.剛開始使用時,沒有作為對編譯器限制時,答案是肯定的。
在Visual Studio系列編譯器中,認為scanf函式是不安全的,即使你引入了標頭檔案,但是編譯器還是認為它是不安全的。下面我將為大家帶來三種解決方法:

方法一:

在.c檔案中的頭部加入#pragma warning(disable:4996)

方法二:

在.c檔案中的頭部加入巨集#define _CRT_SECURE_NO_WARNINGS 10//10可以替換為別的整數

方法三:

按照編譯器的要求使用scanf_s代替scanf

當然最常用的肯定是前兩種方法了,雖然會使編譯環境變得沒有以前那麼安全,但是在編譯.C檔案時,功總是大於弊。
但是在每一個檔案裡都要寫上面兩個方法中的一句時,也是一件挺麻煩的事情,所以我將再告訴你一個小祕訣,那就是把這句話寫入新檔案的建立的檔案中,這樣每當建立一個.c檔案是都會自動為你寫入這句話,缺點是.cpp檔案也有哦。
具體步驟如下:
1、找到Visual Stuaio編譯器的安裝位置
Visual Studio 2013


2、找到VC資料夾,點選進入
這裡寫圖片描述
3、找到vcprojectitems資料夾,點選進入
這裡寫圖片描述
4、開啟newc++file,寫入#pragma warning(disable:4996)或者#define _CRT_SECURE_NO_WARNINGS 10
這裡寫圖片描述

好了,這樣一切就大功告成了,快開啟你的Visual Studio編譯器,開始你的程式碼之旅吧