0%

VisualStudio学习笔记-报错-#include stdio.h的报错安全问题

由于高版本的visual studio默认不让使用scanf等函数,认为这些函数不够安全,而其相对应的代替函数为scanf_s等。如果在visual studio中使用scanf等那些visual studio认为不安全的函数,就会报错。

1
'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

以下几种方法可以解决该问题:

1.在文件开头添加 #define _CRT_SECURE_NO_WARNINGS

例如

1
2
3
4
5
6
7
8
9
10
11
12
13

#define _CRT_SECURE_NO_WARNINGS
//添加到头行,添加到stdio.h等头文件后还是会出警告的
#include <stdio.h>

int main(void)
{
char str[256] = {0};
scanf("%255s",str);
printf("Hello World!\n");
printf("%s\n",str);
return 0;
}

2.在 项目->属性->C/C++->预处理器->预处理器定义中添加_CRT_SECURE_NO_WARNINGS

image.png

image.png

欢迎关注我的其它发布渠道