欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

VisualStudio2019解決scanf函數(shù)報錯問題

 更新時間:2023年08月14日 09:24:00   作者:Duck Bro  
在 Visual Studio 2019 編輯代碼時,前期剛剛接觸到VS編譯器時存在的困惑,當(dāng)用scanf()函數(shù),進(jìn)行輸入時,在運行的時候編譯器會出現(xiàn)警告報錯,本文就來介紹一下解決方法

一、問題由來

在 Visual Studio 2019 編輯代碼時,前期剛剛接觸到VS編譯器時存在的困惑,當(dāng)用scanf()函數(shù),進(jìn)行輸入時,在運行的時候編譯器會出現(xiàn)警告報錯。如下圖情況

二、為何會存在這個問題

在Visual Studio 2019中,scanf函數(shù)會被標(biāo)記為不安全的函數(shù),因為它沒有檢查輸入緩沖區(qū)的大小。如果輸入緩沖區(qū)不夠大,scanf函數(shù)可能會導(dǎo)致緩沖區(qū)溢出,從而引發(fā)安全漏洞。

三、解決方法

方法1(scanf_s)不推薦

為了避免這個問題, VS編譯器中可以使用scanf_s函數(shù)代替scanf。scanf_s函數(shù)具有相同的參數(shù)和行為,但添加了一個額外的參數(shù),用于指定輸入緩沖區(qū)的大小。例如,要讀取一個整數(shù),您可以這樣使用scanf_s函數(shù):

int num;
if (scanf_s("%d", &num) != 1) {
    // scanf_s失敗,處理錯誤
}

注意:如果您還想使用scanf函數(shù)而不是scanf_s函數(shù),請在項目的屬性中啟用“CrtSecureWarnings”選項,該選項將禁用scanf函數(shù)的警告。 

方法2(#define _CRT_SECURE_NO_WARNINGS 1)推薦

在文件的最頂端輸入以下代碼

#define  _CRT_SECURE_NO_WARNINGS 1

注意一定得是文件最開頭的地方 !!! 

因為在編程時常常會使用到 scanf 函數(shù),為了解決每次編程時都需要在開頭寫這條會很繁瑣

以下是解決方法

在新建.c文件時自帶 #define _CRT_SECURE_NO_WARNINGS 1

先下載這個軟件 旁邊是 Everything官網(wǎng)地址

運行Everything,在搜索框里查找這個文件 newc++file.cpp

右擊打開路徑

復(fù)制該文件到桌面,用vs2019打開進(jìn)行修改

將這段代碼 #define _CRT_SECURE_NO_WARNINGS 1 復(fù)制到文件中

將這個文件保存到步驟4.的路徑中,替換本來的文件

這樣就在新建文件時,就有這行代碼啦

總結(jié)

在學(xué)習(xí)C語言的初期,經(jīng)常遇到scanf函數(shù)報錯問題,建議使用方法2,方法1的scanf_s是在VS編譯器中有,使用時如果在其他編譯器運行時可能會出錯,所以建議使用方法2,#define _CRT_SECURE_NO_WARNINGS 1

到此這篇關(guān)于VisualStudio2019解決scanf函數(shù)報錯問題的文章就介紹到這了,更多相關(guān)VS2019 scanf報錯內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論