VS2013 在使用 scanf 在編譯的時候會出現 "_CRT_SECURE_NO_WARNINGS" 這個錯誤。
有兩種解決方法:
1. 對該方案點選右鍵 -> 屬性 -> 組態屬性 -> C/C++ -> 前置處理器 的前置處理器定義
進行編輯, 將_CRT_SECURE_NO_WARNINGS加入。就可以正常使用scanf了。
2. 方式就是改用 scanf_s
下面有scanf 與 scanf_s兩種寫法的參考
const int SIZE 1024;
char *str = new char [SIZE];
1. scanf
scanf("%s", str );
printf("%s\n", str);
即可
2. scanf_s多了第三個參數,是放置該陣列大小,以免溢出,較scanf安全
errno_t err;
if ((err = scanf_s("%s", str , SIZE)) == true)
printf("%s\n", str);
就這樣。
其中,fopen也會有這樣的狀況,所以也是同樣方式,去解決。
沒有留言:
張貼留言