VS 2015 C++前處理器 scanf() 使用出錯問題
在VS 2015 中編譯 C 語言專案,如果使用了 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. warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. |
在VS 2015 中編譯 C 語言專案,如果使用了 fopen()函式,編譯時便會提示如下警告:
warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. |
解釋:VS認為c標準函式不安全,進行了一些處理。微軟官方有關於這類函式的解釋,附上連線https://msdn.microsoft.com/en-us/library/wd3wzwts(VS.80).aspx
下面給出這個問題的解決方案(後面幾個同scanf()一樣,不再作介紹):
方法:
1. 在預編譯標頭檔案stdafx.h裡(注意:一定要在沒有include任何標頭檔案之前)定義下面的巨集: