在Visual Studio中使用scanf語句


在Visual Studio中使用scanf語句

一.問題

在使用代碼處理控制台輸入的時候,會遇到一些輸入問題。
C++中的cin與C中的scanf處理輸入的時候,略有不同。
例如:

輸入數據樣例:

這道題我的思路是將輸入的樣例保存到一個數組中,判斷數組結尾的最后兩個字符為"."和回車結束輸入,最開始使用cin<<str[i]會發生段錯誤,cin不接受回車,無法結束輸入,只能考慮scanf

scanf可以很好地讀到回車並使循環結束。
但是scanf直接在未調試的VS上編譯的話,系統會報錯,因為scanf在c++中不安全,像這樣:

那如何在VS中使用scanf呢?

二.解決方法

鼠標右擊項目---->屬性---->點擊c/c++---->找到SDL檢查改為否

改完之后就可以正常運行了:

PS:VS是2017以上的版本才出現scanf報錯這個問題

三.結論

1.在Visual Studio中使用scanf語句需修改sdl;
2.在Visual Studio中使用cin則不會碰到scanf所遇見的問題;
使用cin的解決方案如下:
先定義一個string s,使用while循環讀入每一行的數據,每一行以回車結束,直到最后一行輸入'.'循環結束。
樣例:while (cin >> s && s != '.'){...},每次循環處理每一行的數據。
可以看出,結合string與cin,可讓在控制台下輸入字符串更加方便。


免責聲明!

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



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