? ? 關于這個問題也是對于小白的我困惑的很是難受,也是收集了一些這方面的信息,基本上都是干貨就,若是有不足和疏忽錯誤的地方還望見諒~
首先就是第一個解決方法:
在輸入時將scanf改輸入為scanf_s,也就是在后面加上_s。
這是因為由于編譯器Visual Studio 的原因Microsoft公司覺得scanf不安全因此自定義的scanf_s,在ANISC中只有scanf(),沒有scanf(),因此會導致跨平臺具有了一定的局限性,在通??缙脚_時會出現報錯的現象,所以第一種方法是不推薦的;這里的安全性也間接體現了解決的方法,后面會將到;
第二個解決方法:
?打開Visual Studio 2022,點擊上方調試窗口,最下面一行有一個調試屬性,前面的是文件名點擊進入。
?在常規(guī)選項中找到SDL檢查將是(/sdl)更改為否(/sdl-), 這里還沒結束接著看下一個更改的地方。
?仍然是在這個選項卡中,依次找到代碼生成,安全檢查,將啟用安全檢查(/GS)改為禁用安全檢查(/GS-),到這里第二種方法就結束了,但這個方法也有一定的局限性,就是只會在當前這個項目文件夾(就是前面所說到的調試屬性的那串字符)有這個效果不報錯。如果你覺得麻煩以后都不想再去因為這個問題提前設置這些東西,還有更好的方法,就是設置時可能會比較麻煩,但有詳細配圖,手把手,包教會!
?第三個解決方法:
這里有兩個點,暫時性解決/永久性解決
暫時性解決:
在所創(chuàng)建的文件第一行加入一行代碼:#define _CRT_SECURE_NO_WARNINGS 1
?可以完美的解決scanf()的問題且在這個文件中所有的scanf都不需要加_s即可運行代碼,但問題是總不能在每一次建立新文件時都去加這一行代碼吧!未必有點太麻煩了,這時我們要想辦法讓他在生成每一個文件時都自動生成這個文件,不就完美解決了嘛~
永久性解決:
大概思路就是我們要找到我們所安裝的位置Visual Studio并找到一個叫newc++file的文件并更改它
看圖:
右擊鼠標點開屬性,可看到文件位置并打開此位置;
?
此時我們會進入到文件的位置,但這里有一個點需要注意:
打開文件時只會在IDE這里我們加上\VC\VCProjectltems即可看到newc++file這個文件夾;
?此時鼠標右鍵以記事本的方式打開,進去之后空白的,這時就需要我們輸入前面提到的那段代碼
#define _CRT_SECURE_NO_WARNINGS 1
但此時又出現了一個問題,我也有遇到過就是我們把代碼輸入進去之后出現了一個現象無法保存,大多數是由于沒有權限問題,我來分享一下我的解決方法:
首先以w11為例
首先回到桌面,按win鍵 對記事本以右擊鼠標,并以管理員的身份運行,此時我們再次返回到newc++file文件打開并輸入復制好的代碼,此時就可以完美保存了,這時他會提示你是否替換,點擊確定替換就OK啦~ ,再次重新點開Visual Studio 在新建的文件中第一行就會自動生成:
#define _CRT_SECURE_NO_WARNINGS 1文章來源:http://www.zghlxwxcb.cn/news/detail-450372.html
此時所有的我已知的方法就完了,如果大家有更好的方法或者建議可在評論區(qū)討論呦~文章來源地址http://www.zghlxwxcb.cn/news/detail-450372.html
到了這里,關于保姆級,手把手教你解決微軟Visual Studio 2022的scanf()返回值被忽略問題(每個步驟都配圖且標記)的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!