Error C4996 under Visual Studio 2015

Error C4996 ‘scanf’: This function or variable may be unsafe. Consider using scanf_s instead.

Fix method:

1. Add a definition: #define _CRT_SECURE_NO_DEPRECATE

e.g:

#pragma once
#ifndef _MAIN_H
#define _MAIN_H
#define _CRT_SECURE_NO_DEPRECATE
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

2.Add a definition:#pragma warning(disable:4996)

#pragma warning(disable:4996)
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

错误原因解释:

这种微软的警告,主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。关于这些改写的函数你不用专门去记忆,因为编译器对于每个函数在给出警告时,都会告诉你相应的安全函数,查看警告信息就可以获知,在使用时也再查看一下MSDN详细了解。