warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead.

??????? 使用VS2005以上版本(VS2005、VS2008、VS2010)編譯在其他編譯器下正常通過的C語言程序,你可能會遇到類似如下的警告提示:
?引用內容
????? warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1>??????????c:/program files/microsoft visual studio 10.0/vc/include/string.h(105) : 參見“strcpy”的聲明
???????? 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.
1>??????????c:/program files/microsoft visual studio 10.0/vc/include/stdio.h(234) : 參見“fopen”的聲明
??????? 原因解釋
??????? 這種微軟的警告,主要因為那些C庫的函數,很多函數內部是不進行參數檢測的(包括越界類的),微軟擔心使用這些會造成內存異常,所以就改寫了同樣功能的函數,改寫了的函數進行了參數的檢測,使用這些新的函數會更安全和便捷。關于這些改寫的函數你不用專門去記憶,因為編譯器對于每個函數在給出警告時,都會告訴你相應的安全函數,查看警告信息就可以獲知,在使用時也再查看一下MSDN詳細了解。庫函數改寫例子:
??????? mkdir改寫為 _mkdir?
??????? fopen”改寫為 fopen_s?
??????? stricmp改寫為 stricmp_s
??????? strcpy改寫為strcpy_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函數即可:
????????例如: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" 】(注:加入中括號中完整的內容)
3> 降低警告級別:項目|屬性|配置屬性|C/C++|常規,自己根據情況降低警告級別(此法不推薦)
????注意:高度重視警告:使用編譯器的最高警告級別。應該要求構建是干凈利落的(沒有警告)。理解所有警告。通過 修改代碼而不是降低警告級別來排除警告。
????編譯器是你的朋友。如果它對某個構造發出警告,這經常是說明你的代碼中存在潛在的問題。成功的構建應該是無聲無息的(沒有警告的)。【《C++編程規 范》】

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255617.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255617.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255617.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

糾錯——【Singleton array array(0.2) cannot be considered a valid collection.】

# 將數據集按照比例劃分為訓練集和測試集 def split_datas(datas,labels,random_state1,train_size0.9,test_size0.1):train_data, test_data, train_label, test_label sklearn.model_selection.train_test_split(datas,labels,random_staterandom_state,# 作用是通過隨機數來…

Android Studio 模擬器 不要皮膚,效果更好

新建或者編輯虛擬機時,皮膚選擇“No Skin”即可,第二張圖片就是無皮膚的效果,看著更爽啊。 轉載于:https://www.cnblogs.com/toSeeMyDream/p/6265501.html

SqlServer自定義排序

在實際項目中,有時會碰到數據庫SQL的特殊排序需求,舉幾個例子,作為參考。 1、自定義優先級 一種常見的排序需求是指定某個字段取值的優先級,根據指定的優先級展示排序結果。比如如下表: Create TABLE Fruit (id INT ID…

JAVA 筆記(三)

NullPointerException:空指針異常 原因:數組已經不再指向堆內存了。而你還用數組名去訪問元素。對于查找問題,如果找到就返回其索引值,如果找不到就要返回一個負數(一般是負一)這是必須的,否則如果找不到&a…

ERROR: SampleCB() - buffer sizes do not match 解決方法

筆記本有內置攝像頭。Windows7驅動已經安裝成功&#xff0c;利用QQ測試攝像頭正常。但是利用OpenCV簡單的攝像頭操作后&#xff0c;就會出現ERROT: SampleCB() - buffer sizes do not match的問題。下面是代碼&#xff1a; #include<iostream> #include <opencv2/co…

安裝Wamp后 Apache無法啟動的解決方法

安裝Wamp后 Apache無法啟動的解決方法&#xff0c;網上的解決方案可以說是五花八門&#xff0c;有些說了一大推&#xff0c;一點作用都起不到。 其實解決方法只需兩步&#xff1a; 1、安裝路徑不能包含有中文&#xff0c;這個我不知道為什么&#xff0c;總之如果安裝路徑中包含…

MySQL的my.cnf文件(解決5.7.18下沒有my-default.cnf)

官網說&#xff1a;從5.7.18開始不在二進制包中提供my-default.cnf文件。參考&#xff1a;https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html 經過測試&#xff0c;在5.7.18版本中&#xff0c;使用tar.gz安裝時&#xff0c;也就是壓縮包解壓出來安裝這種&…

【Not all parameters were used in the SQL statement】

在添加游標的時候&#xff0c;添加preparedTrue cursor mydb.cursor(preparedTrue) 感謝博主&#xff1a; 【已解決】Python MySQL: Not all parameters were used in the SQL statement - MoonYear530 - 博客園一、事故緣起 今天構造了一個超過 50 多個參數的 SQL 插入語句…

opencv 文件模塊 解析

OpenCV包括以下幾個模塊&#xff0c;具體功能是&#xff1a; 1、CV&#xff1a;主要的OpenCV函數 2、CVAUX&#xff1a;輔助的&#xff08;實驗性的&#xff09;OpenCV函數 3、CXCORE&#xff1a;數據結構與線性代數支持 4、HIGHGUI&#xff1a;圖像界面函數 5、ML&#xff1a;…

解決Android Studio報錯:DefaultAndroidProject : Unsupported major.minor version 52.0

問題描述 今天使用Android Studio 2.0打開我之前的項目時&#xff0c;編譯報了如下錯誤&#xff1a; Error:Cause: com/android/build/gradle/internal/model/DefaultAndroidProject : Unsupported major.minor version 52.0 其中build.gradle文件內容如下所示&#xff1a; // …

Alpha 通道的概念與功能

RGBA采用的顏色是RGB&#xff0c;可以屬于任何一種RGB顏色空間&#xff0c;但是Catmull和Smith在1971至1972年間提出了這個不可或缺的alpha數值&#xff0c;使得alpha渲染和alpha合成變得可能。提出者以alpha來命名是源于經典的線性插值方程αA (1-α)B所用的就是這個希臘字母…

【ValueError: Target is multiclass but average=‘binary‘. Please choose another average setting, one 】

完整報錯為&#xff1a;ValueError: Target is multiclass but averagebinary. Please choose another average setting, one of [None, micro, macro, weighted]. 解決方法 對于多分類任務&#xff0c;將 from sklearn.metrics import f1_score f1_score(y_test, y_pred) 改為…

debian apt-get聯網安裝mysql服務

安裝mysql和卸載mysql 1.安裝數據庫&#xff1a;sudo apt-get install mysql-server 安裝過程中需要設置密碼。 2.安裝客戶端&#xff1a;sudo apt-get install mysql-client 3.登錄MySQL&#xff1a;mysql -u root -p 4.配置文件&#xff1a;/etc/mysql/my.cnf a.設…

【資料下載區】【iCore、 iCore2相關資料】更新日期2017/1/11

【新產品發布】【iCore2 ARM / FPGA 雙核心板】 【iCore系列核心板視頻教程】之 SDRAM 讀寫實驗 【iCore雙核心組合是開發板例程】【uCGUI 例程及代碼包下載】【iCore雙核心組合是開發板例程】【12個 verilog 中級實驗例程發布】【iCore、iCore2 雙核心板】EPCS 實驗&#xff0…

圖像數據格式基礎知識

JPEG文件格式簡單分析 作者&#xff1a;小爽 摘要&#xff1a; 這篇文章大體上介紹了JPEG文件的結構信息以及它的壓縮算法和編碼方式。使讀者能夠對JPEG文件格式有大體上的了解。為讀者進一步進行學習JPEG文件壓縮做好準備 關鍵字&#xff1a;十六進制&#xff0c;段格式&am…

SQL語句:從一個表里按年份統計條目數

比如一個數據表名稱叫deploypool&#xff0c; 需要知道里面每一年的記錄數&#xff0c; 而add_date字段里有增加記錄時的時間&#xff0c; 那么語句如下&#xff1a; SELECT EXTRACT(YEAR from add_date),COUNT(id) FROM deploypool GROUP BY EXTRACT(YEAR from add_date);

為什么需要架構圖,怎么畫?

Technorati 標簽: 架構圖,架構,交流,布局不知不覺中做架構師也已經4年了&#xff0c;最初的感覺只是一個名號&#xff0c;不再把代碼作為強制的任務&#xff0c;后來開始慢慢的轉變工作內容。畫圖&#xff0c;成為了我的主要工作。我可能不是每天都在寫代碼&#xff0c;但卻是每…

Jenkins構建時間Poll Scm的設置(常用設置)

每15分鐘構建一次&#xff1a;H/15 * * * * 或*/5 * * * * 每天8點構建一次&#xff1a;0 8 * * * 每天8點~17點&#xff0c;兩小時構建一次&#xff1a;0 8-17/2 * * * 周一到周五&#xff0c;8點~17點&#xff0c;兩小時構建一次&#xff1a;0 8-17/2 * * 1-5 每月1號、15號…

圖像格式基礎

所謂位映像&#xff0c;即是指一個二維的像素矩陣&#xff0c;而位圖就是采用位映像方法顯示和存儲圖像。一幅圖像的顯示就是將圖像的像素映射到屏幕的像素上并顯示一定的顏色。當一幅圖形的像素由彩色表示時就是我們通常所說的彩色圖像了。 由于數字圖像可以表示為矩陣…

aop理解

1.切面&#xff08;Aspects&#xff09;常常通過通知&#xff08;advice&#xff09;、切點&#xff08;pointcuts&#xff09;和織入點&#xff08;join points&#xff09;來描述 2.通知&#xff08;advice&#xff09;有5種 Before——前置通知&#xff0c;在調用目標方法之…