解決Visual Studio(VS)中Scanf用不了報錯的問題


由於scanf有內存溢出的問題,在Visual Studio的C++編譯器已經默認禁用scanf函數,這對許多從VS開始入手C語言的同學來說很不友好。百度的解決方案要么麻煩,要么換一個解決方案就得重新設置,那么有沒有比較簡單的方案又可以跨解決方案使用呢?

有!

在報錯一欄,編譯器會提示C4996號錯誤,讓我們使用#define _CRT_SECURE_NO_WARNINGS 預編譯命令去忽略這個報錯。剛開始使用VS我第一件事是在第一行打這行代碼。后來我靈機一動,既然頭文件里面有這么多預編譯命令,我們不妨將這行代碼加入頭文件中。只要調用與scanf相關的頭文件就會自動忽略報錯。

實現方法:
右鍵VS圖標,點選用管理員權限打開,否則頭文件為只讀無法修改。

隨便點進一個項目

敲入要修改的頭文件

按住Ctrl鍵用鼠標點擊頭文件,鏈接入頭文件的具體定義

#define _CRT_SECURE_NO_WARNINGS粘貼入任意一行

Ctrl+S保存頭文件,大功告成!這樣就可以正常用scanf了。

值得注意的是,有時VS更新會把頭文件一起更掉,我在里面放的bits/stdc++.h也被更沒了,每次更新就要重新設置。如果沒問題盡量少或者不要更新VS。

更新

如以上方法失效,可以在項目-屬性里面修改 ![image](https://img2020.cnblogs.com/blog/1910991/202110/1910991-20211031165733306-726156087.png)


點開添加_CRT_SECURE_NO_WARNINGS


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM