VS中关于scanf警告

这不知道是我多少次入门学语言。。。。当然我夸张了,从大一到现在在读大三学生,通过B站看视屏,主要是从小甲鱼的的视频开始看起,但中途也看的断断续续的,导致到现在也没看完,做操作系统作业的时候还是和大三以前做任何一个课设一样,不会写,全是靠上网csdn copy copy再copy。讲真和难受。今天再次开从C语言的基础啊

开始入门学习,这次我换了比特鹏哥的视频开始学习。采用学习环境是vs2019。由于第一次啊写博客,不知道在怎么写,但想培养这么个习惯。今天的博客从vs2019会出现的一些问题讲起,希望对有的孩子们有用。。。。好了巴拉巴拉的这么长,进入正题。

首先在vs中使用scanf会出现这样的问题

 

 

 用我蹩脚的英语翻一下:这个‘scanf’函数或者变量(编译器自己也分不清楚势函数还是变量)可能是不安全的。考虑使用scanf_s替换。让这个描述失效的话,请使用

_CRT_SECURE_NO_WARNINGS。

scanf函数是标准C语言提供,scanf_s不是标准C语言提供的,是vs这个编译器提供的,在vs编译器中使用scanf_s是不会报错。但是当你把这段代码放大其它使用gcc的编译器中他就会报错。不能实现跨平台使用,不具有跨平台性/可移植性。因此建议将在主文件中如下定义

 在c中,像strcpy、strlen、strcat等这样的库函数是不安全的,用vs直接使用时,都会出现这个警告,因此我们可以在我们每次创建原文件的时候都写入该定义。那每次输入是不是都会有点麻烦?因为我们可以在newc++ file.cpp文件直接输入#define _CRT_SECURE_NO_WARNINGS 。

首先你要在搜索中找到VS的安装目录

 

 

 

 

 我的路径是这个

 

可以直接在搜索中输入newc++ file.cpp

出现

 

将该文件用Notepad++打开,一般用记事本打开的话该文件会拒绝访问。

 

保存后,#define _CRT_SECURE_NO_WARNINGS就是在源文件中自动生存。

 

posted @ 2020-11-18 10:02  王九九  阅读(832)  评论(0)    收藏  举报