解决VS2013或2017中类似于:error C4996: 'scanf': This function or variable may be unsafe的问题
生活随笔
收集整理的這篇文章主要介紹了
解决VS2013或2017中类似于:error C4996: 'scanf': This function or variable may be unsafe的问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
用慣了之前的scanf()函數,突然要用scanf_s()函數多多少少有點不習慣,所以在這里給大家介紹一下scanf_s的用法或好處吧!
1、scanf_s函數格式控制字符串中除了格式聲明之外,如果有其他字符,則必須在輸入數據時在對應的位置上輸入與這些字符相同的字符。
? ? ? 例如:scanf_s("%d,%d,%d",&a,&b,&c);
? ? ? 在輸入數據時,就應該輸入1,2,3;123之間的逗號“,”是不能省略的,不是之前? ? ? ? 的1 2 3
? ? ? ?輸入數值時,兩個數值之間要插入空格或其他分隔符符是為了對多個數值進行區分。但? ? ? ? ? ? ?是,如果出現上面舉例的情況,就只能使用與格式控制字符串中字符相對應的字符。
? ? ? ?正如度娘所說:很多帶“_s”后綴的函數是為了讓原版函數更安全,傳入一個和參數有關的? ? ? ? ?大小值,避免引用到不存在的元素,有時黑客可以利用原版的不安全性黑掉系統。比? ? ? ? ? ? ? ? ?如:char d[20];寫成scanf_s("%s",d,20);才是正確的,有這個參數20使準確性提高。
2、但是還是習慣輸入scanf,這里提供一種最簡單的方法,讓你回歸到自己的習慣當中!
? ? ? 第一步:(一定要在項目里設置)項目屬性->配置屬性->C/C++->預處理器->預處理的定義->點擊按鈕 (V)->編輯,輸入:“_CRT_SECURE_NO_WARNINGS”就ok了
總結
以上是生活随笔為你收集整理的解决VS2013或2017中类似于:error C4996: 'scanf': This function or variable may be unsafe的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中邮邮你贷是什么意思
- 下一篇: 《软件需求分析(第二版)》期中考试试题总