scanf函數(shù)在VS中報錯的主要原因是 scanf被認(rèn)為不安全而被編譯器默認(rèn)設(shè)置為禁用。
那么如何解決這個問題呢
法一:
僅將函數(shù)scanf替換為scanf_s即可,其他語法不變。但scanf_s函數(shù)并不是C語言函數(shù)庫里的標(biāo)準(zhǔn)函數(shù),而是VS編譯器所提供的函數(shù),所以并不推薦用這種方法來解決問題。
法二:
在代碼的最頂端輸入#define??_CRT_SECURE_NO_WARNINGS
(!?。∽⒁庖欢ㄊ亲铐敹瞬蝗灰琅f會報錯)
錯誤示例:
正確示例:
這樣就解決了,但是這個辦法依然有缺陷,就是當(dāng)我們每一次新建一個程序或者項(xiàng)目時,就要重新去在代碼的最頂端輸入#define??_CRT_SECURE_NO_WARNINGS。這顯然還不是我們想要的解決方案。
法三:
在VS的界面中,最頂端找到項(xiàng)目這一欄,點(diǎn)擊屬性
找到C/C++這一欄,選擇預(yù)處理器,打開預(yù)處理器定義這一欄最右邊的小三角,選擇編輯。
在最上方的白框中輸入_CRT_SECURE_NO_WARNINGS,點(diǎn)擊確定,然后點(diǎn)擊應(yīng)用(切記是應(yīng)用而非確定),但這種辦法依舊不能一勞永逸(惱)。
法四:
打開文件資源管理器,找到visual studio 的安裝路徑,然后在該路徑下搜索 “newc++file.cpp” (或可直接搜索,路徑越細(xì)查找速度越快)
找到這個文件后復(fù)制粘貼到桌面上
輸入#define? _CRT_SECURE_NO_WARNINGS,后保存退出
將文件拖回原來的位置,點(diǎn)擊替換目標(biāo)中的文件,之后點(diǎn)擊確認(rèn)就好(如果直接在原位置更改保存的話會要管理員權(quán)限導(dǎo)致無法保存)
此后我們在VS中創(chuàng)建新的源C/CPP文件時會在開頭自動輸入
#define? ?_CRT_SECURE_NO_WARNINGS,一勞永逸解決問題。
你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧