关于VS2017中fopen、fscanf等函数无法使用的问题

本人最近用VS2017编写了一个C程序,用来读取串口数据,程序如下:

#include <stdio.h>  
#include <windows.h>  
int main(void)
{
FILE *fp;
char temp; 
char buf[100];
if ((fp = fopen("com6", "r")) == NULL)
puts("Can't open com6 /n");
while (1)
{
temp = 0;
fscanf(fp, "%c", &temp);
if (temp != 0)
putchar(temp);
else
Sleep(100);
}
fclose(fp);
return 0;

}

运行时,总是报错说,fopen、fscanf不安全区,建议换成fopen_s和fscanf_s,但是这两个函数用不习惯,于是就多方查找资料,得到方法:

方法一: 只需在新建项目时取消勾选“SDL检查”即可;

方法二:若项目已建立好,在项目属性里关闭SDL也行;

设置好之后顺利运行,虽然读取的数据还有些偏差,但是最起码可以正常运行,并且可以读取数据了

希望对遇到类似问题的同学有所帮助!

猜你喜欢

转载自blog.csdn.net/lsg_down/article/details/80510334