前言
想当初我作为刚使用VS的小白来说,在使用教材所展示的代码时其经常不会在VS上正常运行,就比如说,教材上经常使用的是scanf()函数,而在VS上如果不经过调整,编译器就会报错。报错内容如下:
类似于scanf()函数,因为这种原因报错的函数还有strcpy(),strcat()等函数,那么这种原因是什么呢?
原因
我们看上面给出的报错信息,VS在其中提示我们使用scanf()函数不安全,需要将其改为scanf_s()使用,或者需要在文件头添加这样一行代码
#define _CRT_SECURE_NO_WARNINGS 1
以下给出实际操作:
报错的代码运行:
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d\n", a);
return 0;
}
第一种修改方式:
#include <stdio.h>
int main()
{
int a;
scanf_s("%d", &a);
printf("%d\n", a);
return 0;
}
第二种修改方式(注意:添加的代码行只能放在文件开始的第一行):
#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{
int a;
scanf("%d", &a);
printf("%d\n", a);
return 0;
}
需要注意的是,这样的报错信息只会在VS中出现,并不是C语言的要求,为了以后代码能更好地适应其他编译器,建议直接使用scanf()函数。
一劳永逸的办法
当我们想直接使用scanf()函数的时候,是不是每次都需要在文件头写上这样一行代码呢?答案是需要。但是可以我们一次性使这行代码在每次新创建源文件后自动添加到文件第一行。
以下是设置方法:
1、我们先根据路径打开到这个界面,这里说一下,大部分人的路径应该都和这个一样。
2、然后在搜索框中搜索这个文件:newc++file.cpp
鼠标右键点击一下,选择打开文件所在位置,跳转至这里
3、注意此时不要关闭上面这个界面。将这个文件拷贝一份放至桌面,放至桌面后选择打开方式为VS,打开以后在这里添加上这样一行代码,保存后再关闭。
4、接着我们把桌面上的文件拖至第二步打开的界面,将会出现这种情况
选择替换,就大功告成了。
之后,我们在每一次在创建源文件时都会自动添加上这一行代码。
最近突然发现,这种方式,只有给.cpp结尾的文件才会自动加上,.c文件怎么不起作用。