今天在使用vs2013编译器编译c++程序时,因为使用了strcpy函数,所以编译器报出了error C4996这样的错误。
上网查了一下出现这个错误的原因主要因为那些C库的函数,很多函数内部是不进行参数检测的(包括越界类的),微软担心使用这些会造成内存异常,所以就改写了同样功能的函数,改写了的函数进行了参数的检测,使用这些新的函数会更安全和便捷。
并且网上也有人给出了3种解决方案
1用安全的函数来代替,比如说strcpy_s。
2屏蔽警告信息,用#pragma warning(disable:4996)
3是在代码的最前面加上#define_CRT_SECURE_NO_WARNINGS