日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

vs2012下 error4996

發布時間:2023/12/31 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vs2012下 error4996 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原文鏈接:http://blog.csdn.net/xidianzhimeng/article/details/11457045
分類: VS使用學習
24人閱讀 評論(0)收藏 舉報 vs2012 error 4996

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.

在vs2012一下的版本是警告,但是在vs2012上編程了錯誤,在創建工程時的不同之處是有一個周期性安全檢查,這個應該是為什么變成錯誤的原因吧。

? ? 解釋:微軟的警告,主要是那些都是C庫的函數,很多函數內部是不進行參數檢測的(包括越界類的),微軟擔心使用這些會造成內存異常,所以就改寫了一下同樣功能的函數,只不過進行了參數的檢測,使用這些新的就可以了。不用特意記,每個函數在給出警告時都會告訴你相應的安全函數,注意一下警告信息就可以了,使用時再 查看一下MSDN。庫函數改寫例子:
????mkdir改寫為 _mkdir
????fopen”改寫為 fopen_s
????stricmp改寫為 stricmp_s

?解決:1> 根據下面的warning提示:參見“fopen”的聲明
????????消息:“This function or variable may be unsafe. Consider using fopen_s instead.?To disable deprecation, use _CRT_SECURE_NO_DEPRECATE. See online help for details.”
????????所以可以將函數按warning提示的第二句使用fopen_s函數即可:
????????eg:FILE *pFile=fopen("1.txt", "w");
???????????改為:
???????????FILE* pFile;
???????????fopen_s(&pFile, "1.txt", "w");
???????2> 還是根據warning提示的地三句話:use _CRT_SECURE_NO_DEPRECATE
??????????
項目|屬性|配置屬性|C/C++|命令行|附加選項,加入【/D "_CRT_SECURE_NO_DEPRECATE" 】(注:加入中括號中完整的內容)

提倡使用這個方法,不可能去修改所有的源碼,在vs2012下變成錯誤,下列方式就不適用了

? ? ? ?3> Properties->configuration properties->c/c++->advanced->disable specific warnings中輸入4996
???????4>?
#pragma warning(disable:4996)

? ? ? ?5> 降低警告級別:項目|屬性|配置屬性|C/C++|常規,自己根據情況降低警告級別(此法不推薦)

總結

以上是生活随笔為你收集整理的vs2012下 error4996的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。