C/C++

C/C++: 在Visual Studio使用scanf出現C4996錯誤碼

因為公司的程式都用Visual Studio寫得,我只有用過Dev C++跟VS Code來寫C語言程式,所以在Visual Studio上面打scanf噴錯一時之間還以為我寫錯。

錯誤說明如下:

錯誤  C4996   'scanf': 
This function or variable may be unsafe. 
Consider using scanf_s instead. 
To disable deprecation, use _CRT_SECURE_NO_WARNINGS. 
See online help for details.

處理方式

根據文件說明 C4996 編譯器警告是因為使玉一些不安全而被棄用的函數,所以會產生這類的警告,可以使用_CRT_SECURE_NO_WARNINGS忽略掉這個警告。

或是

直接改用scanf_s()這個function,替換掉scanf(),增加安全性。

Note:
這邊安全性是指程式調用記憶體可以更加安全避免溢位等不可預期的狀況。
基本上scanf_s()scanf()使用起來兩者沒什麼差別。

總之,具體差異我也不清楚,對於Visual Studio還在熟悉階段,先可以執行程式就好XD。

留下一個回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *