我們現在學的就是使用scanf()語句進行輸入,但是vs2019中卻報錯顯示不安全
首先我先來說一下scanf和scanf-s的區別在使用vs2019時記住每次寫scanf時全都寫成scanf-sscanf()函式是標準c中提供的標準輸入函式,用以使用者輸入資料
scanf_s()函式是microsoft公司vs開發工具提供的乙個功能相同的安全標準輸入函式,從vc++2005開始,vs系統提供了scanf_s()。在呼叫該函式時,必須提供乙個數字以表明最多讀取多少位字元。
scanf()在讀取資料時不檢查邊界,所以可能會造成記憶體訪問越界
//例如:分配了5位元組的空間但是使用者輸入了10位元組,就會導致scanf()讀到10個位元組
char buf[5]=;
scanf("%s", buf);
//如果輸入1234567890,則5以後的部分會被寫到別的變數所在的空間上去,從而可能會導致程式執行異常。
以上**如果用scanf_s()則可避免此問題:
char buf[5]=;
scanf_s("%s",buf,5); //最多讀取4個字元,因為buf[4]要放'\0'
//如果輸入1234567890,則buf只會接受前4個字元
第一步:建立空專案
選擇建立新專案
選擇空專案進行建立
2.建立原始檔
右擊
新增c++檔案
3.更改屬性
右擊源.cpp
選擇屬性
此時常規中的sdl選項現實的是「是 (/sdl)」
將此處改為「否 (/sdl-)」並確認即可
此時雖然仍然會有警告出現,但是已經不影響程式的除錯執行了,但是這個方法的缺點就是每一次建立新的c++檔案的時候都要改一次屬性,比較麻煩。
在最上面加上巨集:
#define _crt_secure_no_warnings 1
解除scanf的不安全問題; vs2019智慧型提示設定為中文
於 2.找到資料夾 你需要哪個版本的.netcore需要顯示中文提示,就選擇哪個版本,我此次選擇的是.netcore 3.1版本的。這3個資料夾分別對應不同的框架,第乙個是.netcore框架的語言包,我只需要裝.netcore的語言包,所以選擇第乙個就行 4.將裡面的zh hans資料夾貼上到第二...
vs2019如何顯示行數 VS2019 技巧
ps 本文所有示例演示均基於 vs 2019 v16.6.3 版本。1.擴充套件 縮小選區 通過雙擊選中整個單詞,這個操作大家應該都知道。但如何快速選擇幾個單詞 或多個單詞的字串 或 塊呢?教大家乙個快捷鍵,如何快速擴充套件選擇 區域。例如,當游標在乙個字串中時,使用下面的快捷鍵就可以選擇整個字串。...
VS2019開發Qt5 14 2,智慧型提示
2 開啟vs2019,擴充套件 管理擴充套件,搜尋qt,安裝下圖外掛程式。關閉vs2019自動安裝。3 開啟vs2019,擴充套件 qt vs tools qt options 之後就可以用vs新建qt gui專案了,智慧型提示 如果vs不彈出智慧型提示,再進行如下操作。vs2017不彈出,vs20...