婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > VS2019中scanf返回值被忽略的問題及其解決方法

VS2019中scanf返回值被忽略的問題及其解決方法

熱門標簽:高德地圖標注公司位置需要錢嗎 海南人工外呼系統哪家好 地圖標注資源分享注冊 怎么去掉地圖標注文字 合肥阿里辦理400電話號 慶陽外呼系統定制開發 廊坊地圖標注申請入口 北京外呼系統咨詢電話 襄陽外呼增值業務線路解決方案

昨天在使用Visual Studio 2019編寫C語言程序時遇到了scanf返回值被忽略問題

因為我也是剛開始學習C語言,第一次遇到這種問題,也不知道怎么回事,然后就上Chrome研究了一番,才知道原因,并且找到了幾種分散在個個角落的解決方法,我在這里歸納總結一下。

問題原因:

在ANSI C中只有scanf(),沒有scanf_s(),但是scanf()在讀取時不檢查邊界,所以可能會造成內存泄漏。于是Microsoft公司在VS編譯器中提供了scanf_s(),如果想繼續使用scanf這個不安全的函數,可以通過以下方法解決。

方法①:

把scanf改成:scanf_s

這是VS編譯器特有,既然覺得scanf()不安全,那它就自己定義了一個scanf_s()。


其實我是不推薦大家使用這種方法的,因為scanf_s它是vs編譯器特有的,也就是說它不具有跨平臺性/可移植性,在其他編譯器上無法識別運行

方法②:

編譯器錯誤提示的原因至于VS中的SDL檢查,只需要找到它并關閉就可以了。

關閉步驟:右鍵“項目文件” —— “屬性” —— “配置屬性” ——“C/C++”——“常規”——“SDL檢查”改為“否”即可,如圖所示

改為否后,再次編譯就沒問題了。


方法③:

在C語言程序開頭添加代碼: #pragma warning(disable:4996)//全部關掉

(或者)

在C語言程序開頭添加代碼: #pragma warning(once:4996)//僅顯示一個


方法④:

在C語言程序開頭添加代碼: #define _CRT_SECURE_NO_WARNINGS//忽略安全檢測

每次都要加這么一串代碼,是不是感覺有點費力??(我一開始找到這種方法的時候第一感覺也是這樣的)

其實不用那么麻煩,這里還可以細分為兩種方法:

(1)我們只需要在VS中加入 _CRT_SECURE_NO_WARNINGS 這個宏就可以了,具體操作如下圖所示:

(2)在VS2019的安裝路徑下找到“newc++file.cpp”這個文件,用記事本的方式打開,并把這行代碼復制粘貼上去,然后保存即可,這樣以后每次新建.c源文件的時候這行代碼就會自動出現在第一行。

【注意】如果在保存的時候出現“拒絕訪問”的情況,可以測試下載安裝一個工具“Notepad++”,然后以管理員的身份運行這個軟件,用這個軟件打開上面提到的“newc++file.cpp”文件,復制粘貼代碼上去后,保存即可。

最后提到的這兩種都是一次搞定,后面都不用再弄了。

我個人偏向于方法④的第(1)種方法。我也比較推薦你使用這種方法——畢竟簡單而且可以說是一勞永逸

到此這篇關于VS2019中scanf返回值被忽略的問題及其解決方法的文章就介紹到這了,更多相關VS2019 scanf返回值內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • VS2019提示scanf不安全問題的解決

標簽:株洲 鎮江 鶴崗 商丘 平頂山 臺州 綿陽 哈密

巨人網絡通訊聲明:本文標題《VS2019中scanf返回值被忽略的問題及其解決方法》,本文關鍵詞  VS2019,中,scanf,返回,值,被,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《VS2019中scanf返回值被忽略的問題及其解決方法》相關的同類信息!
  • 本頁收集關于VS2019中scanf返回值被忽略的問題及其解決方法的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阜康市| 错那县| 洛南县| 施甸县| 探索| 玉林市| 马鞍山市| 益阳市| 敖汉旗| 鄢陵县| 玉山县| 花莲市| 米泉市| 荥经县| 万源市| 宁远县| 河间市| 阳江市| 武陟县| 曲松县| 沾化县| 张掖市| 通州市| 东方市| 简阳市| 固阳县| 新巴尔虎右旗| 垣曲县| 临安市| 章丘市| 金沙县| 易门县| 鄢陵县| 台北市| 常德市| 乌审旗| 沅陵县| 崇信县| 建平县| 揭西县| 灵川县|