vs2019中无法使用scanf函数的三种解决方案

scanf

为啥不安全:可能会越界访问,因此编译器判定它不是很安全。

解决办法

  • 方法:要写成scanf_s

但是该函数的用法与scanf函数用法略有不同,举个例子:

	如果是检测数组的话,必须表明数组长度:
	scanf_s($s,name,sizeof name);
	即:
	scanf_s(%s,name,40);

并且这个函数适用于vs,所以,不推荐

  • 方法

#define _CRT_SECURE_NO_WARNINGS 1

将这行代码加在所写代码的第一行。

  • 最佳解决方式:

第二种方法每次都需要写进去,那么有没有什么一劳永逸的方法能够在每次创建新的文件的时候,自动将那行代码写入第一行呢?

因为在vs中,新建的源文件,都是拷贝newc++file.c里的,所以我们只需要在那个文件里面写入#define _CRT_SECURE_NO_WARNINGS 1,即可在每次创建新文件的时候读取这段代码并且自动输入。

现在,我们只需要找到newc++file.c文件然后打开并且输入即可,但是可能会出现一个问题:你没有权限更改该文件
其实解决办法也很简单
1.拷贝该文件,放在桌面,打开,更改,保存,再拷回去,替换掉源文件。

你可能感兴趣的:(c语言,visual,studio,开发语言)